gpt4 book ai didi

MongoDB 无法通过指定 ts.t 找到条目(ts 是时间戳类型)

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

无法通过指定 ts.t 找到条目(ts 是时间戳类型)

挖oplog,想搞清楚一秒钟有多少操作。

无法通过指定时间戳字段找到条目,其他字段可以。$在蒙戈外壳中:

> db.oplog.rs.findOne()
{
"ts" : {
"t" : 1335200998000,
"i" : 540
},
"h" : NumberLong("4405509386688070776"),
"op" : "i",
"ns" : "new_insert",
"o" : {
"_id" : ObjectId("4f958fad55ba26db6a000a8b"),
"username" : "go9090",
"message" : "hello, test.",
}
}
> db.oplog.rs.find().count()
419583
> db.oplog.rs.test.find({"ts.t":1335200998000}).count()
0
> db.oplog.rs.test.find({"ts.t":/^1335200998/}).count()
0
> db.oplog.rs.test.find({ts:{ "t" : 1335200998000, "i" : 540 }}).count()
0

最佳答案

我相信 ts 字段实际上是一个 Timestamp字段,控制台只是试图为您简化它(这确实使它非常误导)。您可以像这样进行查询,它应该可以工作:

db.oplog.rs.find({ ts: Timestamp(1335200998000, 540)});

您可以正常使用 $gte 和 $lte:

db.oplog.rs.find({ ts: {$gte: Timestamp(1335100998000, 1)}});
db.oplog.rs.find({ ts: {$lte: Timestamp(1335900998000, 1)}});

第二个参数是给定秒内操作的增量序号。

关于MongoDB 无法通过指定 ts.t 找到条目(ts 是时间戳类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360404/

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