记录一个tip,网上没找到合理方案,自己试出来的~
mongodb中test表的数据如下
db.test.find()
{
"_id" : "A",
"company_name" : "公司A",
"search_frequency" : 212
}
{
"_id" : "B",
"company_name" : "公司B",
"search_frequency" : 160
}
{
"_id" : "C",
"company_name" : "公司C",
"search_frequency" : 553
}
目标
实现类似:select max(search_frequency) from test 的功能。代码:
db.getCollection('test').aggregate({"$group":{_id: 'max',max_value:{"$max":"$search_frequency"}}});
结果图:
说明
- 把$max换成其他如:sum、avg、min。可实现求和、平均、最小值功能
- _id: ‘max’ 这里_id只要对应一个常量即可!
小结和参考
http://www.runoob.com/mongodb/mongodb-aggregate.html
之前参考的是这个网址,但是我这里不需要group by,直接求一个字段的最大值即可。之前是想把”$group”修饰去掉,找了些方案对我都不可行。经过一番尝试,得到正确结果~记录以供参考~~