Mongodb 检查具有两个条件的记录的最简单方法是什么,如果没有插入';t exist,如果存在一个或多个,则将其全部更新

Mongodb 检查具有两个条件的记录的最简单方法是什么,如果没有插入';t exist,如果存在一个或多个,则将其全部更新,mongodb,flask,mongoengine,Mongodb,Flask,Mongoengine,我正在做一个该死的问题 这里有一个building_id、username和correct字段 我们需要查看用户和特定建筑是否存在任何记录(因为他们只能有一票) 如果它不存在,我们需要插入一个新记录,其中包含building_id、username和correct 如果它确实存在,我们需要找到带有building_id和用户名的记录,并将其更新为新的投票 我一直在玩“保存”、“更新”、“获取”或“创建”,它们都会不断出现错误。在MongoEngine中如何实现这一点?您可以使用一个简单的更新,将

我正在做一个该死的问题

这里有一个building_id、username和correct字段

我们需要查看用户和特定建筑是否存在任何记录(因为他们只能有一票)

如果它不存在,我们需要插入一个新记录,其中包含building_id、username和correct

如果它确实存在,我们需要找到带有building_id和用户名的记录,并将其更新为新的投票


我一直在玩“保存”、“更新”、“获取”或“创建”,它们都会不断出现错误。在MongoEngine中如何实现这一点?

您可以使用一个简单的更新,将upsert和multiple设置为true:

语法如下所示:

db.collection.update(
   <query>,
   <update>,
   { upsert: <boolean>, multi: <boolean> }
)

你说的是什么类型的领域?你能提供一份样本文件吗?
db.yourCollection.update({"user": "someUser", "buildindId": "someBuildingId"}, {"correct": "your correction"}, {upsert: true, multi: true})