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

MongoDB Mongoose Node.js中如何正确排除多值字段的文档

修正MongoDB Mongoose多值排除查询

你当前的问题出在$ne操作符的使用上,它仅支持与单个值进行不等匹配,无法直接处理数组形式的多值排除需求。要实现排除status为"Finished"或"Voided"的文档,应该使用MongoDB的$nin(Not In)操作符,它专门用于匹配字段值不在指定数组内的文档。

修正后的代码如下:

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

补充说明:如果业务场景中存在部分文档没有status字段的情况,$nin会自动包含这类文档,因为不存在的字段值默认不在指定数组内,这一点和$ne的行为保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:23:24