python - 如果记录不存在,MongoDB 是插入记录的最快方法吗?

标签 python mongodb mongodb-query nosql

<分区>

我想在 MongoDB 数据库中插入一条记录,但前提是该记录尚不存在。 有些东西告诉我这段代码在性能方面不是最优的:

if db.foo.find(record).count() == 0:
    db.foo.insert(record)

如何以最快的方式做到这一点?

最佳答案

更新时,使用upsert标志:

db.foo.update_one(filter, updates_dict, upsert=True)

工作示例:

db.things.update_one({'thing':'apple'}, {'$set':{'color':'red'}}, upsert=True)

这将搜索带有 'thing': 'apple' 的第一个文档并将其颜色更新为红色。如果未找到文档,它将使用这两个参数创建一个。

参见文档:http://api.mongodb.org/python/current/index.html

关于python - 如果记录不存在,MongoDB 是插入记录的最快方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036606/

相关文章:

python - Dash 引导组件填充

python - Slack 机器人 : invite a non-bot user when @ mentioning them

python - 使用python的re模块分割字符串

c# - 加入集合和列表在 C# Mongodb 强类型驱动程序中抛出 NotSupportedException

java - mongodb如何在JAVA中将_id转换为String

mongodb - Mongodb中匹配子文档的批量更新数组

python - wxpython 将变量传递给回调事件。 lambda 岛

mongodb - ** 警告 : soft rlimits too low. 文件数为 256,应至少为 1000

javascript - 在集合中搜索游标的元素

javascript - 尝试用空格重命名 MongoDB 文档字段