我试图将从html表单收集的数据插入到现有文档中。这些都是新字段,这些是python dict
。但是,当我执行插入或更新时,它似乎会覆盖原始数据。
我最初将数据存储为:
self.settings['db'].userInfo.insert(userData)
然后执行更新/插入:
self.settings['db'].userInfo.update({'_id':DBid},locData)
我的记录现在只保存后者update
的数据。
如何将原始数据保留在文档中,稍后再添加新数据?
修改
我能够通过以下方式在文档中添加新值:
self.settings['db'].userInfo.update({'_id':DBid},{"$set":userData})
我使用了与之前相同的dict
并使用了$set
运算符。这会在文档中附加新字段和其值。
答案 0 :(得分:3)
您应该进行另一次插入,而不是更新。
更新会更改原始值......这就是它的设计目的,因此另一个插入内容会为该集合添加新记录。
要保留文档的所有旧字段,并添加更多字段,请使用运算符 $set
。