多嵌套数组

时间:2015-08-06 14:39:13

标签: node.js mongodb mongoose

我正在使用NodeJSMongoDB创建项目。 我也在使用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){});

提前致谢。

1 个答案:

答案 0 :(得分:0)

我相信最好的方法是将array2设置为一个集合的数组,并为这个array2对象创建一个新的集合。这样做并且拥有id你可以很容易地找到它使用了Collection.findById,还有它会得到更好的性能,因为在找到你想要的对象之前你不需要为array1和array2的所有值读取和分配内存。