元に戻す/やり直しコマンドのリストを維持するために、findAndModify コマンドを使用しています。「フィールド」タグを使用して、「前」の値を指定しています。これは、元に戻すコマンドを構築するために使用されます。すなわち:
コマンド:
{
findAndModify : "aaa",
query : { _id: ObjectId('5215f7d1fe789bb17427bde9') },
update : { "$set" : { "v1" : 200 } },
fields : { v1 : 1, _id : 0 }
}
ビルド結果:
"Do" : { "$set" : { "v1" : 200 } },
"Undo" : { "$set" : { v1" : 100 } }
ただし、配列に対してこれを機能させることはできません。次のような set コマンドを実行します。
{ $set : "myArrayVar.3" : 100 }
私は次のような投影を使用してみました:
{ "myArrayVar.3" : 1 }
{ "myArrayVar.$" : 1 }
ただし、どちらも空の配列ブレースのみを返します。
{ myArrayVar : [] }
私は何が欠けていますか?