我想使用 Python 将一些值推送到数组中。
也许下次我更新数组时,它会插入一些存在的值,所以它会得到一些重复的值。
我想知道是否有避免重复值。
我应该使用 db.collection.find() 来确定是否应该插入?
db.graph.insert_one({"user_id": a.url}, )
for j in a.followers:
db.graph.update({"user_id": a.url}, {"$push": {"following": j.url}})
最佳答案
最好的方法是使用 $addToSet
确保没有重复项添加到集合和 $each
的运算符修饰符将多个值添加到“以下”数组。
urls = [j.url for j in a.followers]
db.graph.update_one({"user_id": a.url}, {"$addToSet": {"following": {"$each": urls}}})
您也应该使用 update_one
方法,因为 update
已被弃用。
关于python - 在 MongoDB 上使用 $push 更新数组时避免重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518635/