特定のイベントのカテゴリを見つけるために実行しているイベントコレクションがあり、$pushステートメントを使用して他のコレクションを更新しています。問題は、2つのイベントが同じカテゴリにある場合、重複が作成されることです。これは望ましくありません。
私はアップサートについて知っていますが、それがこれに関して行くための最良の方法であるかどうかわかりませんか?そして、「$push」ステートメントで機能するアップサートを実際に作成する方法に関しては少し混乱しています。
これが私のアップデートの現在の様子です。
self.users.update({"user_id": event['userid']}, {'$push': {'campaigns': UserCampaign}})
..どこ:
UserCampaign = {
"id": campaign['id'],
"name": campaign['name']
}
「UserCampaign」は時々同じ情報でいっぱいになります。私のコレクションはおそらく非常に膨大になるので、これをできるだけ効率的に完了したいと思います。
TLDR; 重複するリスクを冒さずに、「プッシュ」を使用して見つかったドキュメントの配列を更新したいと思います。