我有一个示例数据,例如:
data = {'tag':'ball','color':'red'}
我想将它插入我的收藏中。但如果它有相同的,则不要插入。
我可以在python中这样做:
if not collection.find_one({data}):
collection.insert(data)
或者,我可以通过更新来完成:
collection.update(data,data,upsert=True)
但是,我的问题是:每次天气'更新'写入数据?
在这两种方法中,他们搜索重复数据的相同时间,但在第一种方式中,只有在不存在时才写入。
第二种方式,是否数据不存在,插入一个。如果数据存在,请更新一个。数据库会在所有情况下写出来吗?
那么,哪种方法更好?为什么?
答案 0 :(得分:0)
我最近遇到过一种情况,即如果记录不存在,我只想写入数据库。在这种情况下,您的第一种方法更好。
对于第二种方式,数据库将在所有情况下编写。但是,如果您想要更新某些字段,可以尝试$ setOnInsert,如下所述:https://docs.mongodb.com/manual/reference/operator/update/setOnInsert/