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

Node.js操作MongoDB时如何按指定规则条件查询记录

MongoDB查询实现方案

你需要的逻辑可以直接用$or操作符组合两个匹配规则实现,不用写额外的复杂判断:

核心查询代码

假设你要查询的目标id是targetId,直接执行下面的查询即可:

// 替换为实际的集合名、目标id
const targetId = '102'
db.你的集合名.find({
  $or: [
    { rep_id: targetId },
    { user_ids: targetId }
  ]
})

规则说明

  • 第一个匹配项就是你已经实现的rep_id精准匹配逻辑
  • 第二个匹配项是MongoDB对数组字段的默认匹配能力:只要user_ids数组中包含目标id,就会自动匹配成功,不需要额外调用其他操作符

效果验证

对应你给出的示例数据:

  • 查询id=101:仅第一条文档匹配rep_id,返回第一条
  • 查询id=102:两条文档的user_ids都包含102,返回两条,完全符合你的预期

如果需要将rep_id匹配的结果排在返回列表的最前面,可以补充排序逻辑:

db.你的集合名.find({
  $or: [
    { rep_id: targetId },
    { user_ids: targetId }
  ]
}).sort({
  $cond: {
    if: { $eq: ['$rep_id', targetId] },
    then: 1,
    else: 2
  }
})

内容的提问来源于stack exchange,提问作者Chirag Jain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:03