1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶMongoDB入門

Connected

演習

bulk_write() を使う

動画で見たように、.bulk_write() では次のようないくつかの操作をまとめて実行できます。

  • InsertOne()
  • UpdateOne() / UpdateMany() / ReplaceOne()
  • DeleteOne() / DeleteMany()
  • ReplaceOne()

いま、映画データベースの春の大掃除をしており、これらの操作が役立ちます。

まず、評価が高くオスカー受賞歴のある作品をホームページで "featured" としてフラグ付けしたいという要望があります。次に、情報をすっきりさせるため、古い年代に公開された映画は削除するよう指示されています。

この2つの変更を、1つの .bulk_write() 操作にまとめて同時に実行します。

指示

100 XP
  • operations の最初の操作を完成させ、評価が 8.0 以上 かつ オスカー受賞歴がある映画をすべて更新し、これらの映画に新しいフィールド "featured" を True に設定します。
  • operations の2つ目の操作を完成させ、1980 年より前に公開された映画をすべて削除します。
  • mov に対して .bulk_write() を実行し、結果を res に保存します。
  • 変更されたドキュメント数と、削除されたドキュメント数を出力します。