![](/img/trans.png)
[英]How to use mongo db aggregate function in meteor with angular js?
[英]Mongo Aggregate JS 'every' equivalent
我正在使用aggregate
,我想为每个Document
添加一个Boolean
property
,以检查Document
上的subArray
中的所有属性是否为真。
在下面的示例中... CONFLICTS
是一个 Docs 子数组,每个 Docs 都包含一个名为Resolved
的Boolean
property
。 如果所有冲突都已解决,我只想添加一个新的allResolved
字段。
所以..在我的addFields
阶段,我有类似的东西
{
'$project': {
'allResolved': {
'$allElementsTrue': '$CONFLICTS.resolved'
},
}
}
所以 JS 等价于const allResolved = CONFLICTS.every(conflict => conflict.resolved)
但这似乎总是返回true
,这是不正确的
询问
aggregate(
[{"$set":
{"allResolved":
{"$and":
[{"$isArray":["$conflicts"]},
{"$not":[{"$eq":["$conflicts", []]}]},
{"$reduce":
{"input":"$conflicts",
"initialValue":true,
"in":
{"$and":[{"$eq":["$$this.Resolved", true]}, "$$value"]}}}]}}}])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.