我有一个MongoDB集合,看起来像这样:
{
title: String,
category: String
}
我想编写一个查询,选择各种类别,类似于以下内容:
Collection.find({category: {$in: ['Books', 'Cars', 'People']});
但是我只想选择每个类别的有限数量,例如每种书、汽车、人物只选5个。我该如何编写这样的查询?我可以用一个查询完成还是必须使用多个查询?
我有一个MongoDB集合,看起来像这样:
{
title: String,
category: String
}
我想编写一个查询,选择各种类别,类似于以下内容:
Collection.find({category: {$in: ['Books', 'Cars', 'People']});
但是我只想选择每个类别的有限数量,例如每种书、汽车、人物只选5个。我该如何编写这样的查询?我可以用一个查询完成还是必须使用多个查询?
db.collection.aggregate([
{$match: {category: {$in: ['Books', 'Cars', 'People']}}},
{$group: {_id: "$category", titles: {$push: "$title"}}},
{$project: {titles: {$slice: ["$titles", 5]}}}
])