【问题标题】:mongodb filtering objects between to dates using pymongomongodb使用pymongo过滤到日期之间的对象
【发布时间】:2020-06-19 19:44:14
【问题描述】:

以下是我在 MongoDB 中收藏的文档结构。

使用 pymongo,我想使用 record_status 键内的 creation_date 键上的日期范围在文档之间进行过滤。

这是文档的结构:

{
    "_id" : ObjectId("5b8a199cf4a98b075490bb47"),
    "Pls_Customer_Id" : "C1810151",
    "FirstName" : "SCHNEIDER ELECTRIC INDIA PVT LTD",
    "LastName" : "SCHNEIDER ELECTRIC INDIA PVT LTD",
    "Address1" : "DELHI",
    "State" : "DELHI",
    "MobileNumber" : "989898989898",
    "DeletedFlag" : false,
    "Country" : "India",
    "record_status" : {
        "created_user" : "uploadBatchProgram",
        "creation_date" : ISODate("2018-09-01T04:46:20.055Z")
    },
    "PoliciesRef" : [ 
        ObjectId("5b8a199cf4a98b075490bb45")
    ],
    "__v" : 0,
    "customerType" : "Regular"
}

【问题讨论】:

    标签: python python-3.x mongodb pymongo


    【解决方案1】:

    如果我理解正确,您想过滤fromto 日期范围record_status.creation_date 之间的文档。

    下面是您需要的过滤器的代码。

    from pymongo import MongoClient
    from datetime import datetime
    
    from_date_range = datetime(2020, 1, 1)  # Format -> (yyyy, mm, dd)
    to_date_range = datetime(2020, 5, 20)  # Format -> (yyyy, mm, dd)
    
    collection = MongoClient()["<DB-NAME>"]["<COLLECTION-NAME>"]
    
    for cursor in collection.find({
        "record_status.creation_date": {
            "$gte": from_date_range,
            "$lt": to_date_range
        }
    }):
        print(cursor)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 2018-07-05
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多