繁体   English   中英

$将推入嵌入式数组Meteor collection2

[英]$push in embedded array Meteor collection2

在Meteor项目中,并且我正在使用[collection2 package],我具有以下collection2模式:

  var schema =  new SimpleSchema ({
    comments: {
        type: [{text: String, createdAt: Date}],
        optional: true
     }})

当我在Meteor方法中使用此查询时:

Articles.update({_id: articleId}, {$push: {comments: {text: "yryd"}}})

它在注释数组中插入一个空白对象...确定,此查询没有问题,原因是我在mongo终端中运行了它,并且一切似乎都很好,插入操作完成了,您认为这是什么问题?

您的架构基本上对于您要在此处执行的操作而言是不正确的。 它很可能需要看起来像这样:

Articles new Meteor.collection("articles");

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM