我正在使用NodeJS
和MongoDB
创建项目。
我也在使用mongoose
。
我有以下收藏:
array1:[
{
field1:{type:String,default:null}
array2:[
{
id:{type:String,default:null},
field1:{type:String,default:null},
field:{type:String,default:null}
}
]
}
]
所以我想使用“id”更新“array2”中的“field1”和“field2”,但我无法使用update
查询来实现此目的。能否请您使用update
查询建议我如何实现这一目标?
目前我用它来更新它
document.save(function(error,response){});
提前致谢。
答案 0 :(得分:0)
我相信最好的方法是将array2设置为一个集合的数组,并为这个array2对象创建一个新的集合。这样做并且拥有id你可以很容易地找到它使用了Collection.findById,还有它会得到更好的性能,因为在找到你想要的对象之前你不需要为array1和array2的所有值读取和分配内存。