我的python代码中的$addToSet替换数据,而不是附加i

2024-10-04 05:22:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用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不能按预期的方式工作吗?在

谢谢你的帮助。在

干杯


Tags: 数据iddbportupdateconnpersonpymongo
1条回答
网友
1楼 · 发布于 2024-10-04 05:22:39

您的$addToSet不是问题所在,而是它之前的update重写了整个对象。使用$set只更新这两个customerData字段:

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

更好的是,将两个更新合并为一个:

^{pr2}$

相关问题 更多 >