2
我在使用Pymongo添加到列表和更新某些字段時,在MongoDB中更新文檔時遇到了問題。
總之,我想:
- 值添加到列表。
- 更新一些字段。
- 使用單個更新語句。
我曾嘗試2種方法,但都不起作用:
key = {'username':'user1'}
user_detail = {
'name':{'first':'Marie', 'last':'Bender'},
'items':{'$addtoset':{'cars':'BMW'}}
}
user_detail2 = {
'name':{'first':'Marie', 'last':'Bender'},
'$addtoset':{'items.cars':'BMW'}
}
mongo_collection.update(key, user_detail, upsert=True)
mongo_collection.update(key, user_detail2, upsert=True)
錯誤消息:美元($)在 '$ addToSet' 前綴場 '$ addToSet' 是不是有效的存儲。
我的預期結果:
前:
{
'username':'user1',
'item': {'cars':['Merc','Ferrari'],'house':1}
}
預期後:
{
'username':'user1',
'name': {'first':'Marie', 'last':'Bender'},
'item': {'cars':['Merc','Ferrari','BMW'],'house':1}
}
謝謝約翰尼,它的工作:) – Qmage 2015-03-31 03:05:19