Javascript 使用Collection2在Meteor中插入空白的嵌入式架构
我是meteor的新手,尝试使用使用嵌入模式的模型插入到集合中。嵌入架构中的内容没有插入到数据库中,而是一个空条目 正在将主模型附加到集合Javascript 使用Collection2在Meteor中插入空白的嵌入式架构,javascript,html,meteor,schema,meteor-collection2,Javascript,Html,Meteor,Schema,Meteor Collection2,我是meteor的新手,尝试使用使用嵌入模式的模型插入到集合中。嵌入架构中的内容没有插入到数据库中,而是一个空条目 正在将主模型附加到集合 Guests = new Mongo.Collection('guests'); Schema = {} Guests.attachSchema(new SimpleSchema({ BasicInformation : { type: Schema.basicInfo, optional: false,
Guests = new Mongo.Collection('guests');
Schema = {}
Guests.attachSchema(new SimpleSchema({
BasicInformation : {
type: Schema.basicInfo,
optional: false,
},
})
basicInfo模式定义如下
Schema.basicInfo = new SimpleSchema({
firstName: {
type: String,
},
middleName: {
type: String,
},
lastName: {
type: String,
}
})
我使用它在一个公共js文件的集合中插入
Guests.insert({
BasicInformation: {
firstName: 'First Name',
middleName: 'Middle Name',
lastName: 'Last Name'
},
})
如果我删除模式并在主模型中添加字段,而不是使用嵌入式模式,那么它确实会被插入。不知道怎么了…救命 欢迎使用堆栈溢出。而且,正如@Jankapunkt所说的,请将您的代码作为格式化块放入您的问题中。如果图像被删除,指向其他地方托管的图片的链接可能无法工作。我们还可以更轻松地修复您的代码,并向您展示它应该是什么样子 我认为在设置模式时,模式对象是空的。你以后再添加信息,但现在已经太晚了。如果你把代码放在你的问题中,我可以告诉你怎么做,但我不愿意为你重新键入它 更新: 干得好。在将架构对象附加到表之前,需要填充该架构对象:
Guests = new Mongo.Collection('guests');
Schema = {} // Right now the object is empty
Schema.basicInfo = new SimpleSchema({ // So we add the sub-schema
firstName: {
type: String,
},
middleName: {
type: String,
},
lastName: {
type: String,
}
})
Guests.attachSchema(new SimpleSchema({
BasicInformation : {
type: Schema.basicInfo, // previously this was undef, now it is correct
optional: false,
},
})
这应该适合您。请编辑您的问题,以便代码添加到格式化文本中。请避免通过注释添加代码。图片中的代码很难阅读,人们倾向于用图片中的代码来否决问题。你介意分享解决方案吗?@Mikkel在他们的回复中提供了解决方案。这很有意义,我修正了我的帖子!