You can create a query condition using OJAI syntax to specify the condition in JSON format. This is the preferred approach for the Node.js, Python, C#, and Go OJAI clients.
The following example shows you how to create the following query condition using the syntax:
(a.b.[0].boolean == false && (a.c.d != 5 || a.b[1].decimal > 1 || a.b[1].decimal < 10))
This is a Java string for the condition:
String jc = new String(
'{ \
"$and":[ \
{"$eq":{"a.b[0].boolean":false}}, \
{"$or":[ \
{"$ne":{"a.c.d":5}}, \
{"$gt":{"a.b[1].decimal":1}}, \
{"$lt":{"a.b[1].decimal":10}} \
]} \
]} \
)';
Pass the string to the Query.where method. See the Java - OJAI Query Condition in JSON Format example at Querying with Conditions for a complete Java code example.
This is a Node.js JSON object for the condition:
query =
{"$where":
{"$and":[
{"$eq":{"a.b[0].boolean":false}},
{"$or":[
{"$ne":{"a.c.d":5}},
{"$gt":{"a.b[1].decimal":1}},
{"$lt":{"a.b[1].decimal":10}}
]}
]}
};
See the Node.js - OJAI Query Condition in JSON Format example at Querying with Conditions for a complete Node.js code example.
This is a Python dictionary for the condition:
query =
{"$where":
{"$and":[
{"$eq":{"a.b[0].boolean":false}},
{"$or":[
{"$ne":{"a.c.d":5}},
{"$gt":{"a.b[1].decimal":1}},
{"$lt":{"a.b[1].decimal":10}}
]}
]}
}
See the Python - OJAI Query Condition in JSON Format example at Querying with Conditions for a complete Python code example.
This is a JSON string for the condition:
var query =
@"{""$where"":" +
@"{""$and"":[" +
@"{""$eq"":{""a.b[0].boolean"":false}}," +
@"{""$or"":[" +
@"{""$ne"":{""a.c.d"":{""$numberInt"":""5""}}}," +
@"{""$gt"":{""a.b[1].decimal"":{""$decimal"":""1""}}}," +
@"{""$lt"":{""a.b[1].decimal"":{""$decimal"":""10""}}}" +
@"]}" +
@"]" +
@"}";
This is a JSON string for the condition:
query := "{\"$where\": + "{\"$and\":[" + "{\"$eq\":{\"a.b[0].boolean\":false}}," + "{\"$or\":[" + "{\"$ne\":{\"a.c.d\":5}}," + "{\"$gt\":{\"a.b[1].decimal\":1}}," + "{\"$lt\":{\"a.b[1].decimal\":10}}" + "]}" + "]}" + "}"
To learn about the complete OJAI syntax for query conditions, see OJAI Query Condition Syntax.