无法使用Schema(Mongoose)定义的嵌套文档数组保存文档

时间:2013-03-28 15:49:51

标签: node.js mongodb mongoose

我无法使用其他嵌套文档正确更新文档。下面的简单示例详细说明。任何建议将不胜感激,谢谢!

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
}

0 个答案:

没有答案