我试图用聚合方法设置返回文档的数量限制,到目前为止,我找到了$limit函数,但无法将其合并到我的代码中,代码如下:
User.aggregate([
{ "$match": { "storage._id": mongoose.Types.ObjectId(d.key) } },
{ "$unwind": "$storage" },
{ "$match": { "storage._id": mongoose.Types.ObjectId(d.key) } },
{ "$group": {
"_id": "$_id",
"storage": { "$push": "$storage" }
}},
])
任何帮助都将不胜感激!
答案:我必须把极限函数放在匹配函数之后,而不是放在第一组之后,它看起来像这样:
{ "$match": { "storage.name": {$regex: regex} } },
{ "$limit" : 5 },
{ "$group": { "_id": "$_id", "storage": { "$push": "$storage" }}}