Mur*_*dia 2 document nested mongodb
我有由 20 到 500 个嵌套文档组成的父文档数组。如何限制每个父文档显示的嵌套文档的数量。
下面是我的文档和嵌套文档的结构。
[{
id
title
users: [{
user_id: 1,
timestamp: 2354218,
field3: 4
}, {
user_id: 1,
timestamp: 2354218,
field3: 4
}, {
user_id: 1,
timestamp: 2354218,
field3: 4
},
...
]
}, {
},
...
]
Run Code Online (Sandbox Code Playgroud)
我想限制每个父文档显示的用户数量。如何?
db.movies.aggregate(
[{$match: {
"movie_title": "Toy Story (1995)"}
},{
$lookup: {
from: "users",
localField: "users.user_id",
foreignField: "users.id",
as: "users"
}
},
{$project: {
movie_title: "$movie_title",
users: { $slice: [ "$users", 1 ] }
}}
]);
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下查询。用于获取每个文档的嵌套文档数组中的$slice最多第一个元素。n
db.collection.aggregate([{ $project: { title: 1, nUsers: { $slice: [ "$users", n ] } } ])
Run Code Online (Sandbox Code Playgroud)
或使用常规查询。
db.collection.find({}, { title: 1, nUsers: {$slice: n } })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |