我尝试在viewAmount
文档上创建一个Video
属性,我们总结了它所拥有的名为Views
的内容,但仅限于view.valid = true
。< / p>
这是我到目前为止所做的:
{
$project: {
title: 1,
viewAmount: { $size: "$views" }
}
},
如果视图有效,我可以添加什么来进行条件检查,而不仅仅是注意大小?我是否必须使用$unwind
运算符?感谢
编辑:
我实际上正在检查view.validity(checkedView.validity)是否等于&#39; real&#39;。
到目前为止,我的更新答案尚未完成:
{ $project: {
title: 1,
viewAmount: {
$size: {
$filter: {
input: "$checkedViews",
as: "view",
cond: { $eq: ["$$view.validity", "real"] }
}
}
}
}
},
视频示例:
{
"_id" : ObjectId("59b5d09980348a3ec3541acc"),
"checkedViews" : [
ObjectId("59b5d0b280348a3ec3541acd"),
ObjectId("59b5d0bf80348a3ec3541ace"),
ObjectId("59b5d1dbd8f37d4ab797fa5c")
]
}
checkedView:
示例{
"_id" : ObjectId("59b5d0b280348a3ec3541acd"),
"updatedAt" : ISODate("2017-09-10T23:54:26.752Z"),
"createdAt" : ISODate("2017-09-10T23:54:26.752Z"),
"video" : ObjectId("59b5d09980348a3ec3541acc"),
"validity" : "real",
"__v" : 0
}