【发布时间】:2015-12-21 10:36:27
【问题描述】:
我有以下 SimpleSchema
Schema.Team = new SimpleSchema({
name:{
type:String
},
members: {
type: [Schema.User],
optional:true
}
});
我想(在服务器上)插入一个包含当前用户的新团队文档,作为参考(而不是嵌入文档)。
我试过了:
Teams.insert({name:"theName",members:[Meteor.user()]}) // works but insert the user as an embedded doc.
Teams.insert({name:"theName",members:[Meteor.user()._id]}) // Error: 0 must be an object
我也试过两步:
var id = Teams.insert({name:teamName});
Teams.update({ _id: id },{ $push: { 'users': Meteor.user()._id } });
然后又出现一个我不明白的错误:Error: When the modifier option is true, validation object must have at least one operator
那么我怎样才能插入一个引用另一个模式的文档呢?
【问题讨论】:
-
如果您将 _id 存储给每个用户而不是对象,则您需要将架构调整为
type: [String] -
当 autoform 保存这样的文档时,id 是字符串,但架构仍然是 User.Schema
-
这就是它无法更新的原因。它试图在架构需要一个对象的地方保存一个字符串。
标签: meteor simple-schema