MongoDB——在.find()中设置条件语句
对于聚合,MongoDB——在.find()中设置条件语句,mongodb,Mongodb,对于聚合,$cond可用于形成if语句。我想知道对于.find()是否有类似的函数 当我尝试在find()中使用$cond时,我得到 我正在尝试执行以下操作(使用伪代码): 如果您使用的是Mongo 3.6或更高版本,您可以尝试使用$expr操作符。这将允许您使用$cond $expr允许在查询语言中使用聚合表达式 可以找到他们的例子 为什么不创建两个不同的查询并传递它呢?整个查询将变成一个字符串并存储在数据库中。我正试着效仿,只形成一根绳子。除非我能用一个或什么的谢谢。我可以通过mongodb
$cond
可用于形成if语句。我想知道对于.find()是否有类似的函数
当我尝试在find()中使用$cond时,我得到
我正在尝试执行以下操作(使用伪代码):
如果您使用的是Mongo 3.6或更高版本,您可以尝试使用
$expr
操作符。这将允许您使用$cond
$expr
允许在查询语言中使用聚合表达式
可以找到他们的例子
为什么不创建两个不同的查询并传递它呢?整个查询将变成一个字符串并存储在数据库中。我正试着效仿,只形成一根绳子。除非我能用一个或什么的谢谢。我可以通过mongodb compass应用程序使用它吗?
"unknown top level operator: $cond"
if condition is True:
set filter for find to thing_1
else:
set filter for find to thing_2
db.supplies.find( {
$expr: {
$lt:[ {
$cond: {
if: { $gte: ["$qty", 100] },
then: { $divide: ["$price", 2] },
else: { $divide: ["$price", 4] }
}
},
5 ] }
} )