0

在 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 终端中运行它,一切似乎都很好,插入操作完成了你认为有什么问题?

4

1 回答 1

1

您的架构基本上似乎不适合您在此处执行的操作。它很可能需要看起来像这样:

Articles new Meteor.collection("articles");

CommentSchema = new SimpleSchema({
    "text": { type: String },
    "createdAt": { type: Date, defaultValue: Date.now }
});

Articles.attachSchema(
    new SimpleSchema({
        "comments": [CommentsSchema]
    })
);

然后,当您添加新内容时,您的模式类型会针对存在的“文本”字段进行验证,并且会自动将“createdAt”等字段添加到数组条目中的子文档中。

于 2015-08-29T11:31:38.190 回答