0

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

1 回答 1

0

你基本上有两个错误。

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

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

修复此问题后您将面临的第二个问题是不正确的数据类型插入。因为你已经定义favorite为一个对象,但试图插入一个单纯的 id。

于 2016-03-07T11:21:19.187 回答