0
使用MongoDB,我有一個history
集合,其中包含多個文檔。當initiatied,他們是這樣的:使用PyMongo將東西添加到MongoDB文檔中
{'_id': ObjectId('58a71211545fc61fd8b2f420'),
'category': 'blue',
'last_update': datetime.datetime(2017, 2, 14, 0, 1),
'timeline': [
{
'score': 0,
'when': datetime.datetime(2017, 2, 14, 0, 1)
}
]
}
{'_id': ObjectId('58a71211545fc61fd8b2f421'),
'category': 'red',
'last_update': datetime.datetime(2017, 2, 14, 0, 1),
'timeline': [
{
'score': 0,
'when': datetime.datetime(2017, 2, 14, 0, 1)
}
]
}
使用PyMongo,我想查詢,增加了東西到一個文件(例如,與{'category' : 'blue'}
文檔),在timeline
元素,這樣的:
{'_id': ObjectId('58a71211545fc61fd8b2f420'),
'category': 'blue',
'timeline': [
{
'score': 0,
'when': datetime.datetime(2017, 2, 14, 0, 1)
},
{
'score': 10,
'when': datetime.datetime(2017, 2, 14, 0, 2)
},
{
'score': 20,
'when': datetime.datetime(2017, 2, 14, 0, 3)
}
]
}
我發現(與collection.update_one()
)唯一刪除了以前的內容:
{'_id': ObjectId('58a71211545fc61fd8b2f420'),
'category': 'blue',
'timeline': [
{
'score': 10,
'when': datetime.datetime(2017, 2, 14, 0, 2)
},
{
'score': 20,
'when': datetime.datetime(2017, 2, 14, 0, 3)
}
]
}
感謝
你能告訴你如何使用'update_one'嗎? – Veeram
'db.my_collection.update_one({'category':'blue'},{'$ set':{'timeline':[''datetime.datetime.now() ''score':30,' }]}}}' –
你可以嘗試使用$ push而不是$ set嗎?推式運算符爲數組並且設置爲字段。 – Veeram