gpt4 book ai didi

python - 使用 pymongo 插入对象列表作为不同的 Mongo 文档

转载 作者:可可西里 更新时间:2023-11-01 09:48:42 24 4
gpt4 key购买 nike

我有一个如下所示的数据集:

[{
"myhost1.com": {
"services": [
{
"environment": "prod",
"__module__": "polling_functions",
"serviceName": "service-a",
"__class__": "app"
}
]
},
"myhost2.com": {
"services": [
{
"environment": "prod",
"__module__": "polling_functions",
"serviceName": "service-a",
"__class__": "db"
}
]
},
...

我想要做的是将其中的每一个作为单独的文档插入到我的 MongoDB 中。清理键以删除 . 字符后,我尝试了两个插入:

db.hostuse.insert_many(数据集)

for key in dataset[0]:
db.hostuse.insert_one(dataset[0][key])

虽然这些都没有实现我想要的。第一个插入单个文档,键是主机名。第二个插入多个文档,但没有主机名;相反,每个键都是 services

我怎样才能转换这个数据集,以便我可以将它传递到我的 MongoDB,并生成多个文档,每个文档都有 hostname 键?

最佳答案

像这样:

collection = MongoClient().db.collection
for hostname, services in dataset[0].items():
collection.insert_one({'hostname': hostname,
'services': services})

您需要从数据集[0] 中提取字典,并为字典中的每个键和值插入一个单独的文档。

关于python - 使用 pymongo 插入对象列表作为不同的 Mongo 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com