如何在密钥名称中传递mongojs查询中的变量

时间:2012-09-05 12:11:59

标签: node.js mongodb mongojs

我的用户集合中的每个文档都如下所示: access: { 123456789012345678901234: 3, 123456789012345678901235: 2, 123456789012345678901234: 1, 123456789012345678901236: 0 }

我正在尝试查找access.123456789012345678901234大于0的所有记录,这就是我编写函数的方法。 (值123456789012345678901234传递给参数companyid中的函数)

findUsersInCompany: function(companyid, callback) {
    base.db.users.find({ "access." + companyid: { "$gt": 0 } }, function(err, usersList) {
        if( err ) callback(err);
        else if( _.isEmpty(usersList) ) callback(1016);
        else callback( null, usersList );
    });
}

但是,我收到一条错误,上面写着“意外令牌+”

任何有关如何使其发挥作用的帮助都会非常有用。

1 个答案:

答案 0 :(得分:2)

您必须在通话之前建立find选择器,如下所示:

var selector = {};
selector["access." + companyid] = { "$gt": 0 };        
base.db.users.find(selector, function(err, usersList) {
    ...
});