meteor是$ inc抛出错误,但查询应该是正确的

时间:2015-09-12 16:58:46

标签: meteor

我希望upsert流星集合中的对象:

UserFollowers.upsert({user_id:user_id,size:{'$lt':10}},{
    $inc:{size:1}
});

但这会引发错误:

调用方法'user_follow'时出现异常MinimongoError:无法将$ inc修饰符应用于非数字

此集合中只有一个对象,此查询正在运行:

UserFollowers.upsert({user_id:user_id},{
    $inc:{size:1}
});

查询从不,无论size设置为什么。

此查询也正确返回对象:

UserFollowers.find({user_id:"a",size:{'$lt':10}}).fetch()

您有任何想法/建议吗?

THX!

1 个答案:

答案 0 :(得分:-1)

Meteor似乎试图将{'$lt':10}设为size的初始值,然后再增加。{/ p>

解决了这个问题的问题:

UserFollowers.upsert({user_id:user_id,size:{$lt:10}},{
        $setOnInsert:{size:0},
        $inc:{size:1}
    });
}