SimpleSchema更新错误

时间:2016-03-07 10:47:13

标签: meteor simple-schema

我正在尝试通过将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 }});
    }
});

1 个答案:

答案 0 :(得分:0)

你基本上有两个错误。

从错误开始,您必须将Favorites属性定义为数组。并且在您尝试使用$set命令更新的代码中。

当您将项目插入MongoDB中的数组时,您必须使用$push运算符。

并且修复此问题后您将遇到的第二个问题是插入的数据类型不正确。因为您已将favorite定义为对象,但尝试插入纯粹的ID。