Meteor 为什么插入到架构附加集合中无效?

Meteor 为什么插入到架构附加集合中无效?,meteor,simple-schema,Meteor,Simple Schema,比方说,我们有这样一个模式: Schemas.MyCollection = new SimpleSchema({ something: { type: Object } }); 我想在MyCollection中插入一些内容。例如: var myobj = { aaaaaa: 11111, bbbbbb: 22222 }; MyCollection.insert({something: myobj}); 我们的结局是: { _id: "s

比方说,我们有这样一个模式:

Schemas.MyCollection = new SimpleSchema({
    something: {
        type: Object
    }
});
我想在MyCollection中插入一些内容。例如:

var myobj = {
    aaaaaa: 11111,
    bbbbbb: 22222
};
MyCollection.insert({something: myobj});
我们的结局是:

{
    _id: "someId",
    something: {}
}
当我禁用简单模式检查(collection2)时,一切都按预期进行


简单模式没有报告错误(collection2),为什么它无效?

@Seraph您的模式是错误的

Schemas.MyCollection = new SimpleSchema({
    something: {
        type: Object
    },

    'something.aaaaa': {
      type: String
    }
});
因此,如果您不想验证对象,您必须编写该对象的每个属性,或者您可以执行
blackbox:true

something: {
  type: Object,
  blackbox: true
}
如果是服务器端操作,也可以执行
myCollection.insert(doc,{validate:false})


只需阅读文档:)

@Seraph您的模式是错误的

Schemas.MyCollection = new SimpleSchema({
    something: {
        type: Object
    },

    'something.aaaaa': {
      type: String
    }
});
因此,如果您不想验证对象,您必须编写该对象的每个属性,或者您可以执行
blackbox:true

something: {
  type: Object,
  blackbox: true
}
如果是服务器端操作,也可以执行
myCollection.insert(doc,{validate:false})


只需阅读文档:)

以下是帮助您了解更多信息的参考:


以下是帮助您了解更多信息的参考资料:


请避免说脏话。多亏了和蔼的图书馆,在浪费了几个小时的工作之后,你也会说同样的话……我不在乎。你的问题充满了无用的废话,读起来很痛苦。你很生气,我们明白,但请在这里保持专业。请避免骂人。多亏了和蔼的图书馆,你会在几个小时的浪费工作后说同样的话……我不在乎。你的问题充满了无用的废话,读起来很痛苦。你生气了,我们明白了,但请在这里保持专业。我需要对象作为地图,所以黑盒:真看起来像解决方案。我需要对象作为地图,所以黑盒:真看起来像解决方案。