查找在指定日期之前创建的所有对象

Dus*_*tin 7 mongodb pymongo

Mongo有一个很好的功能,可以在创建文档时告诉您.

ObjectId("53027f0adb97425bbd0cce39").getTimestamp() = ISODate("2014-02-17T21:28:42Z")
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到2014年2月10日之前创建的所有文档?搜索周围但似乎不会出现这个问题.任何帮助表示赞赏!谢谢!

bre*_*iba 9

你的意思是这样的?

db.YOUR_COLLECTION.find({YOUR_DATE_FIELD: { "$lt": ISODate("2014-02-10") }})
Run Code Online (Sandbox Code Playgroud)

猜猜你必须和JoJo推荐一样:

  1. 将日期转换为ObjectId
  2. 使用$ lt过滤ID并返回ObjectId

使用pymongo你可以做这样的事情:

gen_time = datetime.datetime(2014, 2, 10)
dummy_id = ObjectId.from_datetime(gen_time)
result   = collection.find({"_id": {"$lt": dummy_id}})
Run Code Online (Sandbox Code Playgroud)

参考:http://api.mongodb.org/python/1.7/api/pymongo/objectid.html