在Meteor项目中,我正在使用[collection2 package] 我有以下collection2 Schema:
var schema = new SimpleSchema ({
comments: {
type: [{text: String, createdAt: Date}],
optional: true
}})
当我在Meteor方法中使用此查询时:
Articles.update({_id: articleId}, {$push: {comments: {text: "yryd"}}})
在注释数组中插入一个空白对象... 好的,这个查询没有问题,因为我在mongo终端运行它,一切似乎都很好,插入操作完成了 你认为有什么问题?
答案 0 :(得分:1)
您的架构基本上似乎不符合您要在此处执行的操作。它很可能需要看起来像这样:
Articles new Meteor.collection("articles");
CommentSchema = new SimpleSchema({
"text": { type: String },
"createdAt": { type: Date, defaultValue: Date.now }
});
Articles.attachSchema(
new SimpleSchema({
"comments": [CommentsSchema]
})
);
然后,当您添加新内容时,您的模式类型将针对" text"进行验证。字段存在,字段像" createdAt"被自动添加到数组条目中的子文档中。