【问题标题】:MongoDB find newest date in collectionMongoDB在集合中找到最新日期
【发布时间】:2014-09-18 09:25:44
【问题描述】:

我想搜索集合中的最新日期。日期格式如下:YYYY-MM-DD。 例如:

{ "release" : "2014-09-25", "desc" : "Test1", "status" : "ok", "_id" : "…" }
{ "release" : "2014-09-26", "desc" : "Test2", "status" : "ok", "_id" : "…" }
{ "release" : "2014-09-27", "desc" : "Test3", "status" : "ok", "_id" : "…" }

结果集应该是:

{ "release" : "2014-09-27", "desc" : "Test3", "status" : "ok", "_id" : "…" }

对于这种情况是否有特殊的 mongoDB 运算符,或者我必须获取集合中的所有文档并进行循环?

任何帮助将不胜感激

【问题讨论】:

  • 您将日期存储为字符串,如果可能,首先将它们转换为 ISODate。
  • 你的意思是ISO 8601 String?我正在使用moment.js
  • 是的,这有帮助,谢谢。
  • 如果这已经解决了您的问题,那么请接受答案,以便对其他人有所帮助。

标签: javascript mongodb date


【解决方案1】:

您将日期存储为字符串,请将其更改为日期对象,您可以使用 mongo sort 对其进行排序

http://docs.mongodb.org/manual/reference/method/cursor.sort/

db.collection.find().sort( { date: -1 } ).limit(1)

要从 moment.js 存储为日期,请参见此处的链接:Inserting a momentjs object in Meteor Collection

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    相关资源
    最近更新 更多