node.js - 如何使用node和mongodb进行查找?

标签 node.js express

以下数据存储在我的收藏中

[
{ "_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),"name":"John", "rank":1, "year":1998 ,"class":"a" ,"total":"1128" },
{ "_id" : ObjectId("feff553d95d6b4dd19e171dd"),"name":"Sherif", "rank":1, "year":1999 ,"class":"b" ,"total":"1163"},
{ "_id" : ObjectId("9fef53dd6b4dd1171f55dd9e"),"name":"shravan", "rank":1, "year":2000 ,"class":"b" ,"total":"1113"},
{ "_id" : ObjectId("117153d9fef6b4dddd9ef55d"),"name":"aneesh", "rank":1, "year":2001 ,"class":"d" ,"total":"1145"},
{ "_id" : ObjectId("dd9e53feff55d6b4dd1171d9"),"name":"abdul", "rank":1, "year":1997 ,"class":"a" ,"total":"1100"},
]

我为 find 和 [{ "name":"John", "rank":1, "year":1998 },{ "name":"Sherif", "rank":1, "year":1999 }] 这是我从 req.body 获取的数据,我在这里提到作为查询

router.post('/users',function(req,res){
  var query =[{ "name":"John", "rank":1, "year":1998 },{ "name":"Sherif", "rank":1, "year":1999 }]
  User.find(query, function(err, result) {
    if (err) throw err;
    console.log(result);
    res.json(result)

  });

我期望这个 res.json 应该只返回这两个文档

[
{ "_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),"name":"John", "rank":1, "year":1998 ,"class":"a" ,"total":"1128" },
{ "_id" : ObjectId("feff553d95d6b4dd19e171dd"),"name":"Sherif", "rank":1, "year":1999 ,"class":"b" ,"total":"1163"}]

在mongodb中我们可以这样写

db.users.find({rank:1, name:{$in:["John","Sherif"]}, year:{$in:[1998,1999]}})

我想要nodejs、express中的解决方案,因为根据请求我们需要查找 帮帮我吧

最佳答案

尝试 Mongoose $or运算符

var query = {
  $or : [
    {
      "name":"John", 
      "rank":1,
      "year":1998 
    },
    {
      "name":"Sherif",
      "rank":1, "year":1999 
    }
  ]
}

关于node.js - 如何使用node和mongodb进行查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49685529/

相关文章:

node.js - NodeJS 和 Express——如何模拟 token 认证中间件进行测试?

javascript - 完成()与返回完成()

javascript - 如何在 node.js 中获取用户的控制台输入?

node.js - 如何在 Winston/Node.js 中设置日志级别

Node.js 和 Express : attachment on nodemailer

node.js - 为什么npm安装失败: Error Etarget?

reactjs - 为什么我总是收到不允许通配符 * 的 cors 错误,尽管我在服务器上指定了一个来源?

javascript - Express、AJAX - res.send 不发送任何数据

node.js - 无法实现转换流

node.js - Express CORS 不起作用