【问题标题】:Mongoose/Mongo: A query to find all documents older than five minutes? [duplicate]Mongoose/Mongo:查找所有超过五分钟的文档的查询? [复制]
【发布时间】:2019-04-24 13:42:55
【问题描述】:

我需要 mongoose 运行一个查询,以查找比配置文件夹中以毫秒为单位描述的时间量更早的文档。这段时间是这样存储的,

keys.anAmountOfMilliseconds

到目前为止,我已经能够提取在 NOW 到 5 分钟之间创建的所有文档,如此链接中所述。 **MongoDB: Only fetch documents created in the last 24hrs? **,但是到目前为止,这个查询的逆向工程已经超出了我的范围。

任何帮助都会很棒! 谢谢!

【问题讨论】:

  • “旧于”表示“小于”$lt,“新于”表示“大于”$gt,可以根据您的意思更改为$lte$gte。这里没有太多需要设计的东西,因为“较小”或“较大”只是颠倒使用的表达式。

标签: javascript node.js mongodb mongoose


【解决方案1】:

我认为您会希望使用小于运算符来构建查询。为了建立您链接的答案,我认为它需要看起来像这样

db.getCollection("COLLECTION_NAME").find({"createdAt":{$lt:new Date(Date.now() - 5*60 * 1000)}})

或者根据你的情况

db.getCollection("COLLECTION_NAME").find({"createdAt":{$lt:new Date(Date.now() - keys.anAmountOfMilliseconds)}})

还没有机会进行测试,但这应该会返回所有早于您指定时间的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多