0

PyMongo/MongoDB 中的 $each 修饰符似乎有问题。假设我有一个名为tags.

我可以像这样更新数据库并且它可以工作:

   for tag in tags:
      db_collection.update({'username':username},{'$push':{'docs.tags': tag }})

然而,与其对数据库执行多次写入,我认为使用$each修饰符会更有效。理论上,这可以在没有循环的情况下写成:

db_collection.update({'username':username},{'$push':{'docs.tags': {'$each': tags} }})

但它不起作用。PyMongo 似乎没有检测到 $each 修饰符或其他东西。它仍然存储,但结果是这样的字典:

{'$each': [tag1, tag2, ...] }

我的写作方式是否有问题,或者这实际上没什么好担心的。如,如果我以第一种方式进行,是否不会影响性能。

4

1 回答 1

0

事实证明,我的 mongoDB 版本不支持 $push 的 $each 修饰符。$addToSet 有效,但我最终会升级我的 mongoDB。

于 2013-06-11T22:14:31.257 回答