JSON 的 mongoengine 批量更新字段
mongoengine bulk update fields with JSON
我是 Mongodb 和 Mongoengine 的新手。我想知道是否有一种方法可以使用 json 脚本批量更新 MongoDB 字段,例如:
jsonData = {'name': 'Stak', 'password':'oVeRfLoW'}
User.objects.get(username='u_name').update(jsonData)
感谢您的回答!
Mongodb 的内置更新功能,db.collection.update() 非常可定制,具有一次更新多个文档的选项,不需要事先获取任何东西。
你可以这样使用它:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
所以在这种情况下:
db.collection.update(
{username:'u_name'}, //1
{$set:jsonData}, // 2
{
multi: true, // 3
}
)
(
- 查询搜索具有
的文档
- $set 很重要!如果您不使用 $set,您的整个文档将被删除并更新为仅包含您的新值的文档。 (它将删除所有其他字段)
- 一次更新多个文档。
请记住这是一个指南,您必须稍微修改上面的代码。
我是 Mongodb 和 Mongoengine 的新手。我想知道是否有一种方法可以使用 json 脚本批量更新 MongoDB 字段,例如:
jsonData = {'name': 'Stak', 'password':'oVeRfLoW'}
User.objects.get(username='u_name').update(jsonData)
感谢您的回答!
Mongodb 的内置更新功能,db.collection.update() 非常可定制,具有一次更新多个文档的选项,不需要事先获取任何东西。
你可以这样使用它:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
所以在这种情况下:
db.collection.update(
{username:'u_name'}, //1
{$set:jsonData}, // 2
{
multi: true, // 3
}
)
(
- 查询搜索具有 的文档
- $set 很重要!如果您不使用 $set,您的整个文档将被删除并更新为仅包含您的新值的文档。 (它将删除所有其他字段)
- 一次更新多个文档。
请记住这是一个指南,您必须稍微修改上面的代码。