【问题标题】:MongoDB, retrieve data from colections with tdocument referencesMongoDB,从具有文档引用的集合中检索数据
【发布时间】:2020-07-12 16:55:08
【问题描述】:

我是新手,需要帮助。对于 pymongo 烧瓶应用程序,我需要构建一个查询以从两个包含参考文档的 MongoDB 集合中检索数据,如果有人有线索,我已经挣扎了几个小时。这个想法是,在某一天(例如第 1 天),我希望能够接收来自各个班次的员工

db.days:

{
    "_id": {
        "$oid": "5e83ec781c9d440000ed36a8"
    },

    "shift_date": {
        "$numberInt": 1
    },

    "emploee_name": [{
        "$oid": "5e7d4baa1c9d4400004f4d95"
    }, {
        "$oid": "5e7d4bc11c9d4400004f4d96"
    }, {
        "$oid": "5e7d4bc11c9d4400004f4d97"
    }]
}

db.emploees:

{
    "_id": {
        "$oid": "5e7d4baa1c9d4400004f4d95"
    },

    "emploee_name": "Kevin"
}

{
    "_id": {
        "$oid": "5e7d4baa1c9d4400004f4d96"
    },

    "emploee_name": "Queen"
}

{
    "_id": {
        "$oid": "5e7d4baa1c9d4400004f4d97"
    },

    "emploee_name": "Mark"
}

谢谢。

【问题讨论】:

    标签: mongodb pymongo


    【解决方案1】:

    您只需 find_one()get() 即可完成所有操作

    day = db.days.find_one({'shift_date': 1})
    
    for emploee_id in day.get('emploee_name'):
        emploee = db.emploees.find_one({'_id': emploee_id.get('_id')})
        if emploee is not None:
            print(emploee.get('emploee_name'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 2023-01-31
      • 2021-10-26
      • 1970-01-01
      相关资源
      最近更新 更多