我试图在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" }
我想念什么?谢谢您的帮助!