我们正在使用collection2(显然使用简单模式)并尝试将对象数组保存到Meteor.users集合上的单个属性中。例如,我们的数据可能是:
[
{name: "paul"},
{name: "darryn"},
{name: "tom"}
]
实际上我们的对象更复杂
尝试在用户集合的更新中使用$set
执行此操作时,我们已经获得500或者在关闭验证时设法完全删除用户对象。
我们也多次遇到以下错误:
Validation object must have at least one operator / meteor mongo
This StackOverflow Question提到它,但没有提供在我们的背景下有意义的解决方案。
我的问题有两个问题。如何为此定义架构,因为我们一直在尝试type: [Object]
我不确定是对的,其次应该如何在方法中创建更新语句。
任何想法或帮助都会令人惊叹。
答案 0 :(得分:0)
首先定义复杂对象的架构。在这里,我刚刚将 age 添加为关键字:
Schema.Foo = new SimpleSchema({
name: { type: String },
age: { type: Number, min: 0 }
});
然后使用类型您刚刚定义的类型的数组的键来扩充用户架构
Schema.User = new SimpleSchema({
foo: { type: [Schema.foo] },
etc...
});