我有一个文件“所有者”,可以有“n”个营地,营地有“教练”,教练有“课程”。早些时候,我尝试使用嵌套数组来完成此操作(请参阅下面我的帖子的链接),但是我了解到位置运算符“$”不会嵌套那么深。 MongoDB:将数组添加到现有数组中
但是,我了解到解决方法是使用对象集合而不是数组。我假设我必须使用“更新”和“$set”来添加额外的“营地”,但是每次我做的都是覆盖(更新)之前插入的营地。
下面是我试图完成的层次结构:
owner = {
firstName: 'john',
lastName: 'smith',
ownerEmail: 'john.smith@gmail.com',
camps : {
{
name: 'cubs-killeen',
location: 'killeen'
},
{
name: 'cubs-temple',
location: 'temple'
},
instructors : {
{
firstName: 'joe',
lastName : 'black'
},
{
firstName: 'will',
lastName : 'smith'
}
}
}
}
我也一直在尝试以下方法:
db.owners.update({ownerEmail:'john.smith@gmail.com'}, {$set: { camps:{ {name:'cubs-killeen'} } }})
但这会引发意外的标识符 { 错误。
对于一些示例 mongo 命令以实现上述结构的任何帮助将不胜感激。
视听/视听
克里斯