Creating an OJAI Query Condition Using a JSON String
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.