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

Node.js中MongoDB使用projection选项报错:Unsupported projection option

解决MongoDB投影选项不支持的问题

错误原因

你遇到的报错是因为MongoDB Node.js驱动版本对find方法的参数格式要求不同:

  • 旧版驱动(v2及以下)中,find的第二个参数直接是投影文档,不能传入包含projection键的对象;
  • 部分兼容环境下,即使是新版驱动,直接传递projection选项也可能出现识别问题。

解决方案

方案1:直接传递投影文档(适配旧版驱动)

把投影对象作为find的第二个参数,去掉外层的projection键:

result = await mongoDBO.collection(collectionName).find({id: data.id}, {'_id': 0}).toArray();

方案2:使用链式project()方法(通用所有新版驱动)

用project()方法单独指定投影,兼容性更好:

result = await mongoDBO.collection(collectionName)
  .find({id: data.id})
  .project({'_id': 0})
  .toArray();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:35:30