2013-01-21 266 views
1

如何编写一个mongodb shell查询,该查询将返回特定日期后创建的所有对象的文档(或仅文档id)?我看到的例子类似下面...mongodb - 基于_id时间戳的查询

return query based on date

但他们只返回时间戳,我想基于时间戳来查询。我认为逻辑不如寻找高于特定目标的对象那么简单,因为如果mongodb被分割,那么有多个服务器创建对象。

+1

我相信这可能是重复使用下面的链接:http://stackoverflow.com/questions/8749971/can-i -query-mongodb-objectid-by-date – Sammaye

+0

是的,你是对的。现在有道理,我拿出纪元时间的十六进制值,并加上“0000000000000000”,这会给我开始的基础目标。谢谢, – Craig

+0

要查找2013-01-21后创建的所有对象,这将是查询... db.User.find({'_ id':{'$ gte':ObjectId('50FCCB500000000000000000')}}) – Craig

回答

-1

我想你应该使用这个链接,你应该知道蒙戈的ObjectId如何返回时间戳 Mongo timestamp using mongo object id

+1

虽然这可能在理论上回答这个问题,[这将是更可取的](http://meta.stackexchange.com/q/8259)在这里包括答案的重要部分,并提供供参考的链接。 – slm

+0

要查找在给定时间之前或之后创建的对象,应该使用以下查询'code' db.demo.find({Date:{$ lt:ObjectId(“5217a543dd99a6d9e0f74692”).getTimestamp()。getTime(),$ gt:ObjectId “5217a543dd99a6d9e0f74702”)。getTimestamp()。的getTime()}}) – Yogesh