【问题标题】:How to add dict values to mongodb documents with fields equals dict keys?如何将 dict 值添加到字段等于 dict 键的 mongodb 文档?
【发布时间】:2020-10-12 20:07:12
【问题描述】:

我在 mongodb 中有这样的文档集合:

{
  {"name": "John"},
  {"name": "Mike"},
  {"name": "Andrew"}
}

我还有一个 python 字典:

{
"John": [1, 3, 3, 7],
"Mike": [9, 0, 9],
"Andrew": [7]
}

我想为每个“名称”与 dict 键匹配的文档添加 dict 值。 我认为我应该使用 db.collection.aggregate 之类的东西并按名称对文档进行分组,但我不知道如何将 dict 值与分组结果匹配。

结果应该是:

{
  {"name": "John", "arr": [1, 3, 3, 7]},
  {"name": "Mike", "arr": [9, 0, 9]},
  {"name": "Andrew" "arr": [7]}
}

提前致谢:)

【问题讨论】:

    标签: python mongodb


    【解决方案1】:
    arr_ = [
      {"name": "John"},
      {"name": "Mike"},
      {"name": "Andrew"}
    ]
    
    arr_2 = {
        "John": [1, 3, 3, 7],
        "Mike": [9, 0, 9],
        "Andrew": [7]
    }
    
    for key, item in enumerate(arr_):
        arr_[key]["arr"] = arr_2[item["name"]]
    

    输出:

    [
         {'name': 'John', 'arr': [1, 3, 3, 7]}, 
         {'name': 'Mike', 'arr': [9, 0, 9]}, 
         {'name': 'Andrew', 'arr': [7]}
    ]
    

    【讨论】:

    • 是的,我知道如何在 python 中做到这一点,问题是它如何通过查询在 mongo 数据库中生成。
    • 如果你的 python 字典没有存储在数据库的某个地方。无法进行聚合和附加未存储在 mongodb 中的数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多