注文が作成されるとき、ドキュメントには次のスキーマがあります。
{order:1,startTime:1402442830110}
注文が完了すると、db.collection.findAndModify()
操作が処理されて endTime が設定され、次のようなドキュメントになります。
{order:1,startTime:1402442830000,endTime:1402442930000}
同じプロセスで、duration
両方の時間を差し引いて計算された order を設定する必要がありますdoc.endTime-doc.startTime
。
1回の操作でこれを行うのに役立つオペレーターまたは手順はありますか? それとも、FindAndModify 操作を 2 回実行する必要がありますか? 1 つは新しいドキュメントを返す新しいデータを設定する操作で、もう 1 つはduration
フィールドを設定する操作です。