这里有一些关于如何将查询结果保存到javascript varialbe的问题,但我只是无法实现它们。关键是我有一个很难查询,所以这个问题在我看来是独一无二的。
这是问题所在。我有一个名为“drives”的集合和一个名为“driveDate”的密钥。我需要保存1个日期最小的变量,其他日期最大的变量。
最小日期的查询是:
> db.drives.find({},{"_id":0,"driveDate":1}).sort({"driveDate":1}).limit(1)
结果是:
{ "driveDate" : ISODate("2012-01-11T17:24:12.676Z") }
我如何将其保存到变量中,我可以执行以下操作:
tmp = db.drives.find({},{"_id":0,"driveDate":1}).sort({"driveDate":1}).limit(1)
感谢!!!
答案 0 :(得分:11)
假设您正在尝试在shell中执行此操作:
tmp = db.drives.find({}, {_id:0, driveDate:1}).sort({driveDate:1}).limit(1).toArray()[0]
find
返回一个需要迭代的游标以检索实际文档。在游标上调用toArray
会将其转换为docs数组。
答案 1 :(得分:3)
经过一段时间的计算,我得到了解决方案。这是为了将来参考:
var cursor = db.drives.find({},{"_id":1}).sort({"driveDate":1}).limit(1)
然后我可以像这样从光标中获取文档
var myDate = cursor.next()
就是这样。谢谢你的帮助