在MongoDB中使用Python向文档插入新属性
我刚接触MongoDB(之前用的是CouchDB),现在在用MongoDB的Python驱动添加新属性到我的文档时遇到了一些问题。
比如,我有以下这个文档:
{
'_id':123456,
'text':"this is nice"
}
我想插入一个新的属性,比如:
{
'_id':123456,
'text':"this is nice",
'created_time':datetime.datetime.now()
}
我该怎么把created_time这个属性加到我的文档里呢?
谢谢!
5 个回答
5
19
如果想要在MongoDB的一个集合中给所有现有文档添加一个新属性,我们可以在mongo shell中使用以下方法:
db.collection.update(
{},
{'$set': {"new_attribute":"attribute_value"}},
false,
true
)
{}
是查询条件。在我们的例子中,因为我们要给所有记录添加新属性,所以我们传入一个空对象{}
{'$set': {"new_attribute":"attribute_value"}}
的意思是,使用$set
操作符,在我们的记录中插入一个新的键"new_attribute"
,这个键的值是"attribute_value"
false
是upsert
参数,它告诉MongoDB如果没有找到匹配的文档,就不要插入新的文档true
是multi
参数,它告诉MongoDB要更新多个符合查询条件的文档
想了解更多细节,可以查看: https://docs.mongodb.com/manual/reference/method/db.collection.update/
62
db.collection.update({'_id' : ObjectId(...)},
{'$set' : {'create_time' : datetime(..) }})
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。