gpt4 book ai didi

string - MongoDB 大于 numberLong 的问题

转载 作者:可可西里 更新时间:2023-11-01 10:01:41 27 4
gpt4 key购买 nike

我正在尝试获取一个集合中的所有文档,其中的日期存储如下:

{
"_id": {
"$oid": "5c500ff8df157e051961cfab"
},
"date": {
"$date": {
"$numberLong": "1548750839931"
}
},
"when": "2019-1-29T8:33Z",
"score": 20
}

...大于此:1546300800000

我的收藏中有 2 条记录,但我没有得到任何返回?

这是我的查询:

{"date":{"$gt": 1546300800000}}

我猜这与日期存储为字符串有关,但可以做到吗?

希望得到帮助并提前致谢:-)

最佳答案

您的日期保存为 Date 类型,并且您正在使用时间戳来查找文档。

因此,您可以先使用 $toLongdate 转换为时间戳聚合运算符,然后使用 $gt运算符(operator)

如果你使用的是 mongodb 4.0

db.collection.find({
"$expr": {
"$gt": [{ "$toLong": "$date" }, 1546300800000]
}
})

如果你使用的是 mongodb 3.6

db.collection.find({
"$expr": {
"$gt": [
{ "$subtract": ["$date", new Date("1970-01-01")] },
1546300800000
]
}
})

或者您可以简单地将您的时间戳转换为类型date

db.collection.find({
"date": { "$gt": new Date(1546300800000) }
})

关于string - MongoDB 大于 numberLong 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54493627/

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