概要
PythonのMongoDB用ライブラリMongoEngine
はMongoEngineでMongoDBを触ってみる基礎編の記事で概要が紹介されている通り、DjangoのORMに近い感じでMongoDBの操作が行えるものになります。
今回はMongoEngineで、複数ドキュメントに対してupdateを行う方法を紹介します。
前提
- 使用したMongoEngineのバージョンは
0.28.2
です。
実装方針
Mongoengine : How to update specific fields of an existing document?のstackoverflowの記事で紹介されている回答で、objects
のメソッドに条件を指定してupdate
のメソッドにて更新内容を設定する実装が良いかなと感じました。
実装サンプル
以下の実装サンプルはPostCategory
というコレクションに対して、 指定したidでparent_category_id
の設定があるドキュメントを全て当該フィールドをnullにするというものです。
PostCategory.objects(parent_category_id=category_id).update(parent_category_id=None)