我试图从对象集合中挑选出独特的元素,然后将它们保存到子集合中。
我的代码是:
for item in db.col1.find({'Summary': {'$ne':{}}}):
current_specs = item['Summary']['Specs']
if not db.col1.specs.find({'Specs':current_specs}).count():
db.col1.specs.save({'Specs':current_specs, 'Updated': datetime.datetime.now()},safe=True)
这会在 db.col1.specs 中产生重复的条目。我认为通过使用 safe=True,它可以确保写入已完成,因此不会添加重复项,但似乎并非如此。
谁能解释为什么这会失败以及正确的做法?
干杯