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

MongoDB如何同时匹配两组字段值进行数据查询?

MongoDB查询实现方案

要查询appActions集合中符合以下条件的操作日志:

  • 应用ID为111的所有update-user操作
  • 应用ID为222的所有get-user操作

可以通过MongoDB的$or操作符组合两个逻辑与条件来实现,具体写法如下:

1. Mongo Shell 查询语句

db.appActions.find({
  $or: [
    { appId: 111, scope: 'update-user' },
    { appId: 222, scope: 'get-user' }
  ]
})

2. Node.js MongoDB驱动写法

如果使用Node.js官方MongoDB驱动,代码示例如下:

const { MongoClient } = require('mongodb');

async function queryTargetActions() {
  const client = await MongoClient.connect('mongodb://localhost:27017');
  const db = client.db('你的数据库名称');

  const targetActions = await db.collection('appActions').find({
    $or: [
      { appId: 111, scope: 'update-user' },
      { appId: 222, scope: 'get-user' }
    ]
  }).toArray();

  console.log(targetActions);
  await client.close();
}

queryTargetActions().catch(console.error);

查询结果说明

根据提供的示例数据,上述查询会返回以下两条文档:

[
  { _id: 456, appId: 111, scope: 'update-user', user: 20 },
  { _id: 789, appId: 222, scope: 'get-user', user: 60 }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:54:24