使用$ and和$ or进行MongoDB查询

时间:2018-08-02 23:48:25

标签: javascript node.js mongodb

我试图在MongoDB中使用$ and和$ or执行查询。可悲的是我没有运气。我在Stackoverflow上发现了一些类似的问题,这个问题最接近。

mongodb queries both with AND and OR

不幸的是,该解决方案对我不起作用。我想允许用户按项目ID或标题进行搜索。我确实有代码在添加之前检查过的q变量是否是有效的ObjectId。

这是我的查询:

Project.find({
   $and : [
       { $or : [ { title: {$regex : req.body.q} }, { _id: req.body.q } ] },
       { userID: req.session.userID }
   ]
   }).then(project => {
      console.log(project);    
   });

样本文档:

{ "_id" : ObjectId("5afb583e8341f161a0c950af"), "title" : "Learn Node.js", "status" : "In Progress", "createdOn" : "2014-06-05 22:39:00.000Z" }
{ "_id" : ObjectId("4fe8736dc27bc8be56947d61"), "title" : "Learn MongoDB", "status" : "In Progress", "createdOn" : "2014-06-05 22:39:00.000Z" }

我想念什么?谢谢您的帮助!

0 个答案:

没有答案