You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB多值查询方法咨询:新手从SQL转JSON/NoSQL的等价实现

等价的MongoDB查询实现方案

嘿,作为MongoDB新手,能把SQL逻辑对应过来已经很棒啦!我来帮你把这条查询转换成MongoDB的等价写法,其实有两种常用方式,都很容易理解:

方式一:直接对应SQL的逻辑结构

这种写法完全贴合你原SQL里的AND + OR组合逻辑,新手一看就能对应上:

db.account.find({
  status: "active",
  $or: [
    { create_by: "USE001" },
    { create_by: "USE004" },
    { create_by: "USE035" }
  ]
})

小提示:MongoDB默认会把多个顶级查询条件视为$and关系,所以这里可以省略显式的$and包裹,写起来更清爽。

方式二:用$in简化多值匹配(更推荐)

当你需要匹配某个字段的多个可选值时,MongoDB的$in操作符就是专门干这个的!它能替代一堆重复的$or判断,让代码更简洁易读,这也是业内的最佳实践:

db.account.find({
  status: "active",
  create_by: { $in: ["USE001", "USE004", "USE035"] }
})

针对你的测试数据的查询结果

执行上面任意一种查询,都会返回你测试数据中唯一符合条件的文档:

{ 
  "id":"ACC0001", 
  "create_day":"2020-04-20 16:56:11", 
  "create_by":"USE001", 
  "brief_name":"AAAAA", 
  "status":"active" 
}

内容的提问来源于stack exchange,提问作者Naoa Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 16:17:47