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

使用PyMongo访问MongoDB Atlas触发OperationFailure错误求助

问题原因

MongoDB的查询投影规则不允许同时混合使用包含型投影(字段值设为1,表示保留该字段)和排除型投影(字段值设为0,表示排除该字段),唯一的例外是_id字段——它可以在使用包含型投影时单独设为0,或者在排除型投影中单独处理。

你代码里的投影参数{'_id': 0, 'name': 1, 'email': 0, 'phone': 0}同时包含了包含型(name:1)和排除型(email:0、phone:0)规则,这直接违反了MongoDB的投影约束,因此触发了OperationFailure错误。

解决方法

根据你的需求选择以下任意一种修改方式:

方式1:仅保留name字段

如果你的目标是只获取name字段,直接指定要保留的字段即可,其他字段会自动被排除:

x = i.find({}, {'_id': 0, 'name': 1})

方式2:排除email和phone字段,保留其他所有字段

如果需要保留除_id、email、phone之外的所有字段,只指定要排除的字段:

x = i.find({}, {'_id': 0, 'email': 0, 'phone': 0})

内容的提问来源于stack exchange,提问作者Garlic Bread Express

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:45:59