我正在提取文档,其中它的status不等于完成,下面的代码运行良好.

const x = await rmm.Events.find(
    { status: { $ne: "Finished" } },
    { startTime: true, name: true, _id: false }
  );

但是,如果我想提取的状态不等于已完成或已作废,则以下代码失败.

const x = await rmm.Events.find(
    { status: { $ne: ["Finished", "Voided"] } },
    { startTime: true, name: true, _id: false }
  );

我该怎么修呢?

推荐答案

你得用$nin来代替

const x = await rmm.Events.find(
    { status: { $nin: ["Finished", "Voided"] } },
    { startTime: true, name: true, _id: false }
  );

playground

Mongodb相关问答推荐

MongoDB聚合:将文档列表转换为列表

无法从我的NextJS 14应用程序中的Redux工具包2.0中提取数据

最有效的Mongo聚合来展开和过滤:匹配、展开、匹配与投影和过滤

MongoDB聚合$group阶段$top与$first在大型数据集上的效率

执行聚合以消除重复并获得唯一计数

DTO 验证适用于 POST,但不适用于 PUT

在 Mongo 聚合中,可以通过分组生成 3 个不同的计数

从嵌套数组中 id 匹配的另一个集合中获取所有字段

在亚马逊 EC2 上托管 nodeJS/mongoose Web 应用程序

将 MongoDB 地理空间索引与 3d 数据结合使用

Mongo 可尾游标与 Redis 发布/订阅

使用 MongoDB Java 驱动程序将 DBObject 转换为 POJO

Mongo:无法在 src/mongo/shell/mongo.js:145 连接到服务器 127.0.0.1:27017

在 mongodb 中的索引列上查找重复项的快速方法

为什么我新创建的 mongodb 本地数据库增长到 24GB?

mongodb 的计数性能

mongo中的稀疏索引和空值

Lombok - java.lang.StackOverflowError:toString 方法上的 null

用于 MongoDB 的 Node.js 模块

PyMongo 创建具有 2 个或更多字段的唯一索引