gpt4 book ai didi

mongodb指南针查询日期范围内的objectId

转载 作者:行者123 更新时间:2023-12-04 16:25:08 25 4
gpt4 key购买 nike

我正在尝试对 _id 执行日期范围查询使用指南针的字段。
我已经尝试过我发现的 here使用以下过滤器:

{_id: { $gte: ObjectId.fromDate(new Date('2019-01-01')) } }
我错过了什么?我想获取某个日期之前(在此示例中为 2019 年 1 月 1 日至今)的所有文档的列表。不幸的是,文档字段中没有时间戳,所以我需要从对象 id 中提取它。

最佳答案

您需要将日期对象传递给 ObjectId.fromDate ,不是字符串。尝试这个:

ObjectId.fromDate(new Date('2019-01-01'))
此功能仅在 shell 中有效,在驱动程序中不存在。
评论后编辑:
这是一个也适用于 Compass 的解决方案:
{ 
$expr: {
$gte: [
{"$toDate":"$_id"},
ISODate("2021-01-01T00:00:00.000Z")
]
}
}
但是请记住,它需要版本 mongo 4.0+ .您可以结帐 the docs here .
另外,请查看此相关主题: Can I query MongoDB ObjectId by date?
不是关于 Compass ,但它提供了生成 ObjectId 的解决方案。 s 从一个日期开始而不依赖于 ObjectId.fromDate() .

关于mongodb指南针查询日期范围内的objectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66209470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com