我想要$project
如果一个字段存在,但不是它的值,使用mongoose
model
model
aggregate
查询。 如果在$cond
有可能使用$exists
,它看起来会是这样的:
$project: {
b: {
$cond: {
if : {$exists: ['$b', true]},
then : true,
else : false
}
}
}
但是,我在$cond
运营商使用boolean
表达。 在MongoDB的外壳,我可以做类似的事情:
{$eq: ['$b', undefined]}
,并产生预期的结果,但由于某种原因mongoose
模式aggregate
,它总是与true
结果。
例如,如果我有下列文件:
{
"a" : 1,
"b" : 2
},
{
"a" : 1
}
我需要的结果如下:
{
"b": true
},
{
"b": false
}
我怎么可以做这样的事情与mongoose
?
我可以(在
some_field
设置为false
在这种情况下,你可以内false
改变的东西更适合就不会工作)的不要使用'$ ifNull',因为我不想投影字段的值,只要它存在与否。如果'$ ifNull'返回false,它将投影该值。 – TomG实际上你的目标是什么,你可以在你的问题部分添加一个例子来更清楚@TomG –
我添加了一个例子 – TomG