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

Node.js环境下查询满足数组匹配与状态条件的MongoDB语句怎么写?

MongoDB Node.js 查询语句解决方案

你需要的查询可以通过MongoDB的$in操作符配合等值匹配实现,两种常用场景的写法如下:

官方mongodb驱动写法

const { MongoClient } = require('mongodb');
const arr = ['0-3333','0-22222','0-11122'];

async function queryDevice() {
  const client = new MongoClient('你的MongoDB连接字符串');
  try {
    await client.connect();
    const db = client.db('你的数据库名');
    // 执行查询
    const queryResult = await db.collection('device').find({
      'properties.status': 'OK',
      'properties.device': { $in: arr }
    }).toArray();
    return queryResult;
  } finally {
    await client.close();
  }
}

Mongoose 写法

const arr = ['0-3333','0-22222','0-11122'];
// DeviceModel为device集合对应的Mongoose模型
const queryResult = await DeviceModel.find({
  'properties.status': 'OK',
  'properties.device': { $in: arr }
});

逻辑说明

  • 两个查询条件写在同一个对象中默认是逻辑与关系,会同时生效
  • $in操作符会匹配properties.device数组中包含任意一个arr数组内元素的文档,完全符合"至少包含一个"的要求

内容的提问来源于stack exchange,提问作者krishna kumar rai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:06:00