我有一段时间在做查询。
有一个building_id,用户名和正确的字段。
我们需要查看用户和特定建筑物是否存在任何记录(因为他们只能进行一次投票)。
如果它不存在,我们需要插入一条带有building_id,username和right的新记录。
如果确实存在,我们需要找到包含building_id和用户名的记录,并更新为新的投票。
我一直在玩save,update,get_or_create,他们都会不断出现错误。如何在MongoEngine中完成?
答案 0 :(得分:0)
您可以使用简单的更新,将upsert和multiple设置为true:
http://docs.mongodb.org/manual/reference/method/db.collection.update/
语法如下:
db.collection.update(
<query>,
<update>,
{ upsert: <boolean>, multi: <boolean> }
)
关于检查两个条件,您的查询可以包含任意数量。
我不知道你的收藏品,但也许:
db.yourCollection.update({"user": "someUser", "buildindId": "someBuildingId"}, {"correct": "your correction"}, {upsert: true, multi: true})