我无法使用其他嵌套文档正确更新文档。下面的简单示例详细说明。任何建议将不胜感激,谢谢!
var ImageSchema = new Schema({ url: String });
var ProductSchema = new Schema({
images: {
"set1": [ ImageSchema ],
"set2": [ ImageSchema ],
// ... etc
});
var Product = db.model('Product', ProductSchema);
这很好用:
var product = new Product({
images.set1 = [{ url: 'http://old.url.com' }],
images.set2 = [{ url: 'http://old.url.com' }],
// ... etc
});
product.save();
这失败了:
Product.findOne(query, function(err, product){
product.images = {
"set1": [{ url: 'http://new.url.com' }],
"set2": [{ url: 'http://new.url.com' }]
}
product.save();
});
这将导致DB中的以下文档:
{
"images": { "set1": [ null ], "set2": [ null ] }
// ... etc
}