【发布时间】:2017-05-23 09:40:12
【问题描述】:
如果一个字段存在,我想$project,但不是它的值,使用mongoosemodelaggregate查询。
如果可以在$cond 中使用$exists,它应该是这样的:
$project: {
b: {
$cond: {
if : {$exists: ['$b', true]},
then : true,
else : false
}
}
}
但是,我必须在 $cond 运算符中使用 boolean 表达式。
在 MongoDB shell 中,我可以做类似的事情:
{$eq: ['$b', undefined]}
它产生了预期的结果,但由于某种原因,mongoose 模型aggregate 总是产生true。
例如,如果我有以下文件:
{
"a" : 1,
"b" : 2
},
{
"a" : 1
}
我需要以下结果:
{
"b": true
},
{
"b": false
}
我怎样才能用mongoose 做类似的事情?
【问题讨论】: