Mongodb 排除mongo聚合中的数据

Mongodb 排除mongo聚合中的数据,mongodb,Mongodb,我正在处理mongodb查询。集合中的每个文档如下所示: { "_id": "12345", "name": "Trinity Force", "price": 3702, "comp": [ "Zeal", "Phage", "Sheen", ] } 我正在处理一个查询,返回5种最便宜的商品(最低价格),价格等于0(不包括那些小饰品)。我写了这个(很抱歉格式不好) 不过,我遇到了两个问题;limit函数似乎不适用于此聚合,$project也不适用。

我正在处理mongodb查询。集合中的每个文档如下所示:

{
  "_id": "12345",
  "name": "Trinity Force",
  "price": 3702,
  "comp": [
    "Zeal",
    "Phage",
    "Sheen",
  ]
}
我正在处理一个查询,返回5种最便宜的商品(最低价格),价格等于0(不包括那些小饰品)。我写了这个(很抱歉格式不好)

不过,我遇到了两个问题;limit函数似乎不适用于此聚合,$project也不适用。我正在寻找的输出应该排除项组件(因此comp:0),并将其限制为5个输出。我能得到一些帮助吗

db.league.aggregate(
{ $project : { _id : "$_id", name: "$name", price: "$price"} },
{ $match : { "price" : { $gt : 0 } } },
{ $sort: { "price" : 1 } },
{ $limit : 5 })
这是返回5个最便宜商品的聚合查询

这是返回5个最便宜商品的聚合查询

这是返回5个最便宜商品的聚合查询


这是一个聚合查询,返回5个最便宜的项目,这不是聚合,而是排序结果

db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)

尽管如此,我还是要测试这两种方法的性能,这不是聚合,而是排序结果

db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)

尽管如此,我还是要测试这两种方法的性能,这不是聚合,而是排序结果

db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)

尽管如此,我还是要测试这两种方法的性能,这不是聚合,而是排序结果

db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)
尽管如此,我还是会测试这两种方法的性能