我正在使用 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){});
提前致谢。
最佳答案
我认为最好的方法是将 array2 设置为集合的数组,并为 array2 的该对象创建一个新集合。这样做并拥有 id,您可以使用 Collection.findById 轻松找到它,并且它还会获得更好的性能,因为在找到所需的对象之前,您不需要为 array1 和 array2 的所有值读取和分配内存。
关于node.js - MongoDB更新多重嵌套数组内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31858697/