"n"個のキャンプがあり、キャンプには "インストラクター"があり、インストラクターには "クラス"があるドキュメント "所有者"があります。以前は、ネストされた配列でこれを達成しようとしましたが(下の記事へのリンクを参照)、位置演算子 "$"はその深みを入れ子にしていません。 MongoDB: Adding an array into an existing arrayMongoDb:追加オブジェクトをオブジェクトコレクションに挿入するにはどうすればよいですか?
ただし、回避策は配列の代わりにオブジェクトコレクションを使用することであることを知りました。私は追加の "キャンプ"を追加するために "update"を "$ set"で使用しなければならないと仮定していますが、挿入する前のキャンプを上書き(更新)するたびに実行します。私はまた、次のことをしようとしている
owner = {
firstName: 'john',
lastName: 'smith',
ownerEmail: '[email protected]',
camps : {
{
name: 'cubs-killeen',
location: 'killeen'
},
{
name: 'cubs-temple',
location: 'temple'
},
instructors : {
{
firstName: 'joe',
lastName : 'black'
},
{
firstName: 'will',
lastName : 'smith'
}
}
}
}
:
以下は、私が達成しようとしている階層構造である
db.owners.update({ownerEmail:'[email protected]'}, {$set: { camps:{ {name:'cubs-killeen'} } }})
が、これは予想外の識別子{エラーをスローします。
上記の構造を達成するためのいくつかのサンプルmongoコマンドに関する助けがあれば、最も感謝します。
V/R
クリス
これらは有効な書類ではありません。あなたは 'キャンプ'と 'インストラクター'と一緒にしようとしているように、名前のないネストされたオブジェクトを持つことはできません。 – JohnnyHK
キャンプ:{{名前: '子キルン'}} 'の代わりに'キャンプ:{名前: '子キルン'} 'を意味しましたか? –
@Relfor、はい、それは私が意味するものです!明確化のためにありがとう。さて、どのようにその文書構造を達成するには? – cpeele00