2014-11-01 41 views
0

我試圖保存數據在我的集合使用Pymongo。

port = 27017 
conn = pymongo.MongoClient('localhost', port) 
db = conn.dbcoll 
newReservationId ="Value change from front-end" 
customerData = { 'firstName':"Jamesss", 'lastName':"Jamesss" } 
db.person.update({'_id':'1223'}, customerData) 
db.person.update({'_id':'1223'}, {"$addToSet":{"reservationList":newReservationId }}) 
conn.close() 

每當字段「reservationList」被新值「newReservationId」覆蓋時。假設在數組中追加新值「newReservationId」。

任何人都可以請讓我知道爲什麼$ addToSet不按照它假設的方式工作?

感謝您的幫助。

乾杯,

回答

1

$addToSet是沒有問題的,這是它以前是改寫了整個對象的update。使用$set剛剛更新這兩個customerData領域:

db.person.update({'_id':'1223'}, {"$set": customerData}) 
db.person.update({'_id':'1223'}, {"$addToSet":{"reservationList":newReservationId }}) 

更重要的是,兩個更新組合成一個:

db.person.update({'_id':'1223'}, { 
    "$set": customerData, 
    "$addToSet":{"reservationList":newReservationId } 
}) 
+0

是是我看着辦吧。這個問題是第一次更新。感謝您的輸入。乾杯! – user3648235 2014-11-01 20:18:18

+0

太棒了!如果這解決了您的問題,請單擊答案左側的複選標記以標記答案。 – JohnnyHK 2014-11-01 21:41:22

相關問題