【发布时间】:2021-10-24 11:49:30
【问题描述】:
我有一个这样的聚合函数
app.get('/feed', (req, res) => {
TFBlog.aggregate([
{ $sample: {size: 5} },
{ $match: {"published": true} },
]).then((docs)=>{
res.render('explore',{docs:docs});
});
});
现在如果聚合找到不满足 {published: true} 的文档,它只会返回一个空数组
所以在许多用例中,我在返回数组中得到 4 或 3 个文档而不是 5 个
无论如何,我希望这个函数总是返回 5 个随机文档,并带有 $match 条件!!
我怎样才能做到这一点请解释一下?
【问题讨论】:
-
在您的情况下,匹配条件应该通过。 它只是返回一个空数组 是错误的。您能否向我们展示包含必要字段和预期输出的示例文档
标签: javascript node.js mongodb mongoose