mongodb 查询问题请教

select * from user where (name=1 or name=2) and (age=1 or age=2)

这样的语句,怎么用mongo写出来?

阅读 1.9k
2 个回答

什么情况,都审核一天了,还没有审核完吗?

用这个命令:db.getCollection("users").find({$and:[{ $or:[{name:1},{name:2}]},{$or:[{age:1},{age:2}]}]})
查询的原先数据:

{ 
    "_id" : ObjectId("5e2150154c5b973028752394"), 
    "name" : 1.0, 
    "age" : 2.0
}
// ----------------------------------------------
{ 
    "_id" : ObjectId("5e2150214c5b973028752395"), 
    "name" : 2.0, 
    "age" : 1.0
}
// ----------------------------------------------
{ 
    "_id" : ObjectId("5e21502c4c5b973028752396"), 
    "name" : 3.0, 
    "age" : 1.0
}
// ----------------------------------------------
{ 
    "_id" : ObjectId("5e21503a4c5b973028752397"), 
    "name" : 1.0, 
    "age" : 3.0
}

查询得到的结果:

{ 
    "_id" : ObjectId("5e2150154c5b973028752394"), 
    "name" : 1.0, 
    "age" : 2.0
}
// ----------------------------------------------
{ 
    "_id" : ObjectId("5e2150214c5b973028752395"), 
    "name" : 2.0, 
    "age" : 1.0
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进