2

次のようなドキュメントがあります。

{
  Name : val
  AnArray : [
     { 
        Time : SomeTime
     },
     {
        Time : AnotherTime
     }
     ...arbitrary more elements
}

「時間」を日付型に更新する必要があります(現在は文字列です)

私は疑似的なことをしたいと思います:

foreach record in document.AnArray { record.Time = new Date(record.Time) }

$ と「ドット」表記に関するドキュメントと、同様のいくつかの質問を読みました。次のコードを試しました。

db.collection.update({_id:doc._id},{$set : {AnArray.$.Time : new Date(AnArray.$.Time)}});

そして、$ が「AnArray」プロパティのインデックスを反復することを期待しています。各レコードの長さがわからないためです。しかし、エラーが発生しています:

SyntaxError: missing : after property id (shell):1

配列のネストされた値の各メンバーを動的な値で更新するにはどうすればよいですか?

4

1 に答える 1