我正在处理mongodb查询。集合中的每个文档如下所示:
{
"_id": "12345",
"name": "Trinity Force",
"price": 3702,
"comp": [
"Zeal",
"Phage",
"Sheen",
]
}我正在进行一个查询,返回5个最便宜的商品(最低价格),价格等于0(不过是那些小饰品)。我写了这个(很抱歉格式化不好)
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个输出。能帮我个忙吗?
发布于 2014-11-29 00:04:39
db.league.aggregate(
{ $project : { _id : "$_id", name: "$name", price: "$price"} },
{ $match : { "price" : { $gt : 0 } } },
{ $sort: { "price" : 1 } },
{ $limit : 5 })这是聚合查询,以返回5个最便宜的项。
发布于 2014-11-30 02:11:30
海事组织,这不是聚合而是排序结果。
db.league.find({ price: { $gt :0} }, {comp: 0}).sort({price: 1}).limit(5)尽管如此,我还是会测试两者的性能。
https://stackoverflow.com/questions/27197111
复制相似问题