MeteorJS错误“无效修饰符。修饰符必须是对象”

时间:2013-11-18 17:49:29

标签: javascript node.js meteor npm

删除包含if的{​​{1}}语句后,一切正常。但是当它被包含时,我们会得到关于无效修饰符的错误。

出了什么问题?谢谢!

服务器/助手/ b.s

UserSession.insert

错误:

Meteor.startup(function(){

    // Initialize
    var SUPERPACK = Meteor.require('superpack');
    var superpack = new SUPERPACK('a', 'b');


    // Get Account Info
    try {
        superpack.getInfoSync = Meteor._wrapAsync(superpack.getInfo.bind(superpack));
        var data = superpack.getInfoSync();

        // THIS PART WHEN REMOVED, REMOVES THE ERROR *********
        // Update if record exist, create if not
        if (UserSession.find().count() == 0) {

            UserSession.insert({ 'userId': 1, 'account': data});

        } else {

            UserSession.update({ 'userId': 1, 'account': data});

        }

        console.log(data);

    } catch(error) {
        console.log(error);
    }

});

1 个答案:

答案 0 :(得分:2)

似乎有两个错误:

第一个是if声明:

if (UserSession.find().count() > 0) {

应改为

if (UserSession.find().count() == 0) {

第二个:update()

缺少适当的修饰符
UserSession.update({ 'userId': 1, 'account': data});

来自文档:

collection.update(selector, modifier, [options], [callback])

selectormodifier必须提供。