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

时间:2014-02-25 21:24:36

标签: mongodb pymongo

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

ObjectId("53027f0adb97425bbd0cce39").getTimestamp() = ISODate("2014-02-17T21:28:42Z")

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

1 个答案:

答案 0 :(得分:7)

你的意思是这样的吗?

db.YOUR_COLLECTION.find({YOUR_DATE_FIELD: { "$lt": ISODate("2014-02-10") }})

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

  1. 将日期转换为ObjectId
  2. 使用$ lt过滤ID并返回ObjectId
  3. 使用pymongo你可以这样做:

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

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