0
不同蒙戈文件的列表我有一個數據集,看起來像這樣:插入對象與pymongo
[{
"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(dataset)
和
for key in dataset[0]:
db.hostuse.insert_one(dataset[0][key])
這些都不完成我想,雖然。第一個插入一個文檔,鍵是主機名。第二個插入多個文檔,但沒有主機名;相反,每個密鑰都是services
。
我該如何轉換這個數據集,以便將它傳遞給我的MongoDB,並生成多個文檔,每個文檔的密鑰爲hostname
?
這主要是工作,而是存儲文件爲:'{ 「_id」:物件( 「584f175ee281af385ce8a6bc」), 「服務」:{ 「服務」: { ... } ] }, 「主機名」: 「myhost1.com」 }' - 注意重複的 「服務」 鍵/場。 – MrDuk
出於我的目的,因爲我可以假設在每個「主機」部分中存在單個「服務」部分,因此將代碼更改爲使用'({'hostname':hostname,services.keys()[0]:services.values )[0]})'爲我工作 – MrDuk