我正在尝试通过将usersId保存到登录用户帐户来创建收藏夹按钮。这个概念是,如果有userId(用户是最喜欢的),那么用户不是最喜欢的。问题是我收到错误update failed: Error: Favorites must be an array
并且我不确定这意味着什么。
路径:schema.js
Schema.UserProfile = new SimpleSchema({
"favorites.$.favorite": {
type: Object
}
});
路径:studentlist.js
Template.student.events({
'click .favourite':function(event,template) {
console.log('click');
var candidateId = this._id;
Meteor.users.update({_id: Meteor.userId() }, { $set: { "profile.favorites": candidateId }});
}
});
答案 0 :(得分:0)
你基本上有两个错误。
从错误开始,您必须将Favorites
属性定义为数组。并且在您尝试使用$set
命令更新的代码中。
当您将项目插入MongoDB中的数组时,您必须使用$push
运算符。
并且修复此问题后您将遇到的第二个问题是插入的数据类型不正确。因为您已将favorite
定义为对象,但尝试插入纯粹的ID。