在 nodeJS 和 MongoDb 的集合中查找最大值
Posted
技术标签:
【中文标题】在 nodeJS 和 MongoDb 的集合中查找最大值【英文标题】:Find a maximum value in a collection in nodeJS and MongoDb 【发布时间】:2014-04-13 11:08:54 【问题描述】:我有一个非常简单的查询,但无法正常工作。 我有一个名为 users 的集合,其中包含 uid 字段。 我想从中获取 uid 字段的最大值。 以下是我所做的:-
var options = "sort": [['uid',-1]] ;
db.users.findOne(, options , function(err, doc)
console.log("Returned #" + doc.uid + " documents");
);
但这给了我 99,而我的值高达 300。 我猜它是将每个元素与 9 匹配,然后进行比较。 正确答案应该是 314
以下是条目保存在集合中的方式:-
_id: "531181a3ec9af9107d2b4ccd",
age: "0",
carModel: "bullet motorcycle",
chargePrice: "",
contact: "",
email: "",
fbid: "1179803227",
fromLat: "28.4594965",
fromLon: "77.0266383",
fromName: "Gurgaon, Haryana, India",
fuelType: "Petrol",
id: "215",
image: "http://graph.facebook.com/1179803227/picture?type=large",
name: "Sandeep Yadav",
points: "0",
regid: "abc",
returnTime: "15:41 Hrs",
sex: "0",
smoking: "No Smoking allowed",
startTime: "15:41 Hrs",
toLat: "28.510782",
toLon: "77.048646",
toName: "Sector 23 ,HUDA Market, Huda, Sector 23, Gurgaon, Haryana, India",
uid: 311
,
_id: "531181a3ec9af9107d2b4cce",
age: "0",
carModel: "2014 Nissan sentra",
chargePrice: "USD 30",
contact: "",
email: "",
fbid: "100001451156666",
fromLat: "27.950575",
fromLon: "-82.4571776",
fromName: "Tampa, FL, United States",
fuelType: "Petrol",
id: "214",
image: "http://graph.facebook.com/100001451156666/picture?type=large",
name: "Kelly J. Dugan",
points: "0",
regid: "abc",
returnTime: "23:04 Hrs",
sex: "0",
smoking: "Doesnt Matter",
startTime: "16:02 Hrs",
toLat: "25.7889689",
toLon: "-80.2264393",
toName: "Miami, FL, United States",
uid: 308
【问题讨论】:
Using findOne in mongodb to get element with max id 的可能重复项 【参考方案1】:试试这个:
db.users.find().sort("uid":-1).limit(1)
这将找到所有用户,然后对它们进行排序,然后只返回第一个。
【讨论】:
以上是关于在 nodeJS 和 MongoDb 的集合中查找最大值的主要内容,如果未能解决你的问题,请参考以下文章
如何检查 MongoDB 数据库中的所有集合以查找特定关键字?