这是我的简化集合及其架构:
Comments = new Mongo.Collection('comments');
Comments.schema = new SimpleSchema({
attachments: {type: [Object], optional: true},
});
Comments.attachSchema(Comments.schema);
这是我的简化方法:
Meteor.methods({
postComment() {
Comments.insert({
attachments: [{type:'image', value:'a'}, {type: 'image', value:'b'}]
});
}
});
调用该方法后,这是我在 MongoDB 中获得的文档:
{
"_id" : "768SmgaKeoi5KfyPy",
"attachments" : [
{},
{}
]
}
数组中的对象没有任何属性!现在,如果我将此行注释掉:
Comments.attachSchema(Comments.schema);
并再次调用该方法,插入的文档现在看起来是正确的:
{
"_id" : "FXHzTGtkPDYtREDG2",
"attachments" : [
{
"type" : "image",
"value" : "a"
},
{
"type" : "image",
"value" : "b"
}
]
}
我必须在这里遗漏一些基本的东西。请赐教。我正在使用最新版本的 Meteor (1.2.1)。