私はMongoを初めて使用します。複数の基準に基づいてドキュメントをアトミックにアップサートしたかったのです。ドキュメントは次のようになります。
{_id:..., hourOfTime:..., total:..., max:..., min:..., last:...}
これは基本的に、で識別されるアイテムのクリック数の1時間ごとの集計です_id
。各アイテムのクリックは、5秒ごとにアプリケーションからMongoDBにフラッシュされます。したがって、ドキュメントは5秒ごとに更新する必要があります。
これがその場合です。で言うとt=t0
、{_id:"nike", total:123, max:10, min:3, last:9}
それでは、でt=t1
、メッセージが表示されます{_id:"nike", count: 12}
。さて、のため_id="nike"
に、私は次のことをする必要があります、
- インクリメント
total
_12
- の場合
max < 12
、更新max=12
- の場合
min > 12
、更新min=12
- アップデート
last=12
このすべての操作をアトミックにしたい。これを1つのクエリで変換できません。ヘルプ/ヒントをいただければ幸いです。