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, ...] }
私の書き方に問題がありますか、それとも実際には心配する必要はありません。のように、最初の方法で実行してもパフォーマンスへの影響はありません。