我有以下数据库条目:
我的插入查询
db.collection.insert({company:"C3",model:"M3",price:55600,discount:9,resolution:"100X700",connectivity:"hdmi2",warranty:"3",image:"image2.jpg",size:50,display:"lcd",brand:"Brand4",functionality:"functionality2"});
有超过2000个条目,我试图找出整个集合中的最大和最小价格,如下所示:
db.collection.find({max:{$max:"$price"}, min:{$min:"$price"}});
希望输出为{max:2000,min:5000},请帮助。谢谢
答案 0 :(得分:10)
您需要使用.aggregate()
方法才能正常工作。
db.collection.aggregate([
{ "$group": {
"_id": null,
"max": { "$max": "$price" },
"min": { "$min": "$price" }
}}
])
_id
字段中if
字段是强制性的,并且为洞穴集合的价格找到$group
/ max
值,而不是特殊群组需要的值设置为 null 否则查询将仅返回每个组的最大/分钟