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

MongoDB查询报错Unsupported projection option问题求助

解决MongoDB查询的投影参数错误问题

嘿,我一眼就看出问题所在啦!你把查询过滤条件错误地放到了find()方法的第二个参数(投影参数)里,这才导致了那个Unsupported projection option的错误。

问题根源

MongoDB的find()方法有两个核心参数:

  1. 第一个参数:查询过滤条件,用来筛选符合要求的文档
  2. 第二个参数:投影(Projection),用来指定要返回哪些字段

你原来的代码里,把"attributes.0.ccode": { $exists: true }和$and这些过滤条件写到了第二个参数里,MongoDB把它们当成了投影选项,自然就报错了。

修正后的代码

把所有过滤条件都放到第一个参数里,投影参数只保留你需要返回的字段即可:

var query = Company.find(
  {
    _id: { $in: cdata },
    "attributes.0.ccode": { 
      $exists: true, 
      $ne: "" 
    }
  },
  { attributes: 1 } // 仅返回attributes字段
).sort({});

额外小提示

其实这里不需要显式写$and,MongoDB会默认把多个键值对当作逻辑与的关系,所以上面的写法已经足够简洁清晰啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:11:25