首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除mongo聚合中的数据

排除mongo聚合中的数据
EN

Stack Overflow用户
提问于 2014-11-28 23:24:04
回答 2查看 114关注 0票数 0

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

代码语言:javascript
复制
{
  "_id": "12345",
  "name": "Trinity Force",
  "price": 3702,
  "comp": [
    "Zeal",
    "Phage",
    "Sheen",
  ]
}

我正在进行一个查询,返回5个最便宜的商品(最低价格),价格等于0(不过是那些小饰品)。我写了这个(很抱歉格式化不好)

代码语言:javascript
复制
db.league.aggregate(  { $project : { _id : 1, name: 1, price: 1, comp: 0 } }, 
{ $match : {price : { $gt : 0 } } }, 
{ $sort: { price : 1 } }).limit(5)

不过,我遇到了两个问题:极限函数似乎无法处理此聚合,$project也不起作用。我正在寻找的输出应该排除项目组件(因此comp: 0),并将其限制为5个输出。能帮我个忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-29 00:04:39

代码语言:javascript
复制
db.league.aggregate(
{ $project : { _id : "$_id", name: "$name", price: "$price"} },
{ $match : { "price" : { $gt : 0 } } },
{ $sort: { "price" : 1 } },
{ $limit : 5 })

这是聚合查询,以返回5个最便宜的项。

票数 3
EN

Stack Overflow用户

发布于 2014-11-30 02:11:30

海事组织,这不是聚合而是排序结果。

代码语言:javascript
复制
db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)

尽管如此,我还是会测试两者的性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27197111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档