mongoose查询在mongo shell中工作,但在node.js中不起作用

时间:2012-12-05 05:29:14

标签: node.js mongodb mongoose nosql

我正在尝试从我的node.js-express应用程序执行查询。查询没有返回任何结果。但是当我在mongodb shell中执行查询时,它会显示预期的结果。

我的代码是:

var query = commentModel.Comment.find({
    "$and": [
           {
               "type": {
                   "$in": [
                       207,208,209
                   ]
               }
           },
           {
               "trs": {
                   "$ne": 3
               }
           },
           {
               "$or": [
                   {
                       "status": {
                           "$in": [
                               1,
                               2
                           ]
                       }
                   },
                   {
                       "$and": [
                           {
                               "status": 3
                           },
                           {
                               "UID": req.session.userId
                           }
                       ]
                   }
               ]
           }
       ]
   }).skip(this.index).limit(this.count);
console.log("Query  : "+ JSON.stringify(query));
query.exec(function(err, result) {
console.log("Result Length :"+result.length+" Error:"+err);
    if( (err) || (result.length == 0)) {
        console.log("Result Length :"+result.length+" Error:"+err);
    }
    else {
        console.log("Success Result Length :"+result.length+" Error:"+err);
    }
});

当我将查询打印到控制台

  

查询:{“选项”:{“填充”:{}},“_条件”:{“$和”:[{“type”:{“$ in”:[207,208,209]}},{“trs “:{” $ NE “:3}},{” $或 “:[{” 状态 “:{” $在 “:[1,2]}},{” $和 “:[{” 状态“: 3},{ “UID”:14}]}]}]}, “_ updateArg”:{}, “OP”: “找到”}

我使用_condition并在mongodb shell中执行

>db.tbl_comment.find({"$and":[{"type":{"$in":[207,208,209]}},{"trs":{"$ne":3}},{"$or":[{"status":{"$in":[1,2]}},{"$and":[{"status":3},{"UID":14}]}]}]})

在shell中显示结果。我不知道遗失了什么...

0 个答案:

没有答案