これは私の単純化されたコレクションとそのスキーマです:
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) を使用しています。