Mongoose查询find()什么都不返回

时间:2017-12-08 02:16:46

标签: angularjs mongoose

我使用2个条件,关键字和用户ID查询数据库,两者都在控制台日志中正确返回但没有返回,不返回null,或者只返回空白。语法有问题吗?

app.get("/api/client?", function (req, res) {

console.log("Search > " + JSON.stringify(req.query));
//Search > {"keyword":"emily","filterby":"5a25f3d1d4b3e30792dd53ca"}

var keyword = req.query.keyword;
var user_id = req.query.id;

Client.find({
  $and: [{
      "firstname": new RegExp('^' + keyword + '$', "i")
    },
    {
      userid: user_id
    }
  ]
}, (err, result) => {
  if (err) {
    console.log(err);
  }
  res.status(200).json(result);
  console.log("Result is... " + result)
  //Result is

});
});

或者,我尝试了没有查询,只是根据用户ID搜索所有并且它工作,它返回db中的所有记录

app.get("/client", function (req, res) {
var user_id = req.query.id;

Client.find({
  userid: user_id
}, (err, result) => {
  if (err) {
    console.log(err);
  }
  res.status(200).json(result);

});
});

1 个答案:

答案 0 :(得分:0)

找到解决方案! Noob错误,我被赶上了搜索所有工作,var user_id = req.query.id,但实际上当我传入“filterby”时,基于

valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --dsymutil=yes --log-file="log.txt" ./pony_gpExe. 

所以它应该是

console.log {"keyword":"emily","filterby":"5a25f3d1d4b3e30792dd53ca"}