具有AND子句的MongoDb查询或子句
有没有可能写一个或子句,里面有和子句 例如,我需要在字段field1、field2、field3和field4上编写一个查询具有AND子句的MongoDb查询或子句,mongodb,mongodb-php,mongodb-query,Mongodb,Mongodb Php,Mongodb Query,有没有可能写一个或子句,里面有和子句 例如,我需要在字段field1、field2、field3和field4上编写一个查询 Query should be field1 or field2 or (filed3 and field4) 谁能帮帮我吗 谢谢。下面是一个简单的查询示例,如果字段1>1或字段2>1或字段3和4>1,则该查询将匹配: { "$or" : [ { "field1" : {"$gte" : 1} }, { "fi
Query should be field1 or field2 or (filed3 and field4)
谁能帮帮我吗
谢谢。下面是一个简单的查询示例,如果字段1>1或字段2>1或字段3和4>1,则该查询将匹配:
{
"$or" : [
{ "field1" : {"$gte" : 1} },
{ "field2" : {"$gte" : 1} },
{
"$and" : [
{ "field3" : {"$gte" : 1} },
{ "field3" : {"$gte" : 1} }
]
}
]
}
只需根据需要切换子查询。下面是一个简单的查询示例,如果字段1>1或字段2>1或字段3和4>1,则该查询将匹配:
{
"$or" : [
{ "field1" : {"$gte" : 1} },
{ "field2" : {"$gte" : 1} },
{
"$and" : [
{ "field3" : {"$gte" : 1} },
{ "field3" : {"$gte" : 1} }
]
}
]
}
只需根据您的需要切换子查询。嗯,更简单的方法是:
{
"$or" : [
{ "field1" : {"$gte" : 1} },
{ "field2" : {"$gte" : 1} },
{ "field3" : {"$gte" : 1}, "field4" : {"$gte" : 1} }
]
}
这是因为单个
$或
子句中的数组元素实际上是$和
。这将比使用显式的$和不同评估的更有效。嗯,更简单的方法是:
{
"$or" : [
{ "field1" : {"$gte" : 1} },
{ "field2" : {"$gte" : 1} },
{ "field3" : {"$gte" : 1}, "field4" : {"$gte" : 1} }
]
}
这是因为单个$或
子句中的数组元素实际上是$和
。这将比使用显式的
$和
更有效,后者的计算方式不同