将新数据插入MongoDB中的记录

时间:2014-08-16 16:28:47

标签: mongodb pymongo mongodb-query

我试图将从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运算符。这会在文档中附加新字段和其值。

1 个答案:

答案 0 :(得分:3)

您应该进行另一次插入,而不是更新。

更新会更改原始值......这就是它的设计目的,因此另一个插入内容会为该集合添加新记录。

要保留文档的所有旧字段,并添加更多字段,请使用运算符 $set

$set frm Mongo Example using $set