使用mongoose从mongodb中获取条目

时间:2015-09-09 05:46:59

标签: node.js mongodb mongoose mongodb-query

我正在使用mongoose在节点中操作mongodb。现在我必须查询Post表中的条目,其中标签不包含任何标签,如inc:___,inc:gdc,exc:abc,exc:57uyht7,所有其他标签都允许像(test,card,check)

PostModel.Post.find({
$where:this.activeFlag==true && (this.tags!= null && this.tags != /^inc:/ && this.tags !=/^exc:/)
}), function(err, stack) {
        if (!err) {
            logger.debug('Posts found successfully.');
        } else {
            logger.error('Problem in finding posts, error :' + err);
        }
    });

但这不起作用..我的查询也用inc:dbgh获取条目。 谁能帮我? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

根据Mongo docs,您应该将字符串或javascript函数传递给$where,然后传递javascript表达式,并对其进行评估。

此外,您的查询可以简化为

PostModel.Post.find({
    activeFlag: true,
    tags: {
      $exists: true,
      $not: /^(inc:|ecx:)/
    }
}, function(err, stack) {
    if (!err) {
        logger.debug('Posts found successfully.');
    } else {
        logger.error('Problem in finding posts, error :' + err);
    }
});