操作失败:未经授权在聚合上执行命令

时间:2019-05-06 00:31:10

标签: python mongodb jupyter-notebook pymongo

我是mongodb的新手,我一直在学习使用pymongo版本3.8.0和jupyter笔记本的一些方法。一直很好,直到我尝试了“ $ lookup” 方法,现在它开始引发错误 操作失败:未授权聚合执行该命令。对于解决问题的任何帮助/建议将不胜感激。

我尝试重新安装软件包,并启用Windows管理权限,到目前为止,该问题尚未解决

OperationFailure: not authorized on aggregations to execute command 
{ aggregate: "air_routes", pipeline: [ { $match: { airplane: { $regex: "747|380" } } }, { $lookup: { from: "air_alliance", localField: "airline.name", foreignField: "airlines", as: "data_src" } }, 
{ $unwind: "$data_src" }, { $group: { _id: { name: "$name", airlines: "$airlines" }, numberofflights: { $sum: 1 } } }, { $sort: { numberofflights: -1 } }, 
{ allowDiskUse: true } ], cursor: {}, lsid: { id: UUID("af942a3d-309b-4cd2-a99b-3ebcd60406f4") }, $clusterTime: { clusterTime: Timestamp(1557101096, 1), 
signature: { hash: BinData(0, AD50B7BE136F58D794C75C6AD031E92168EF61D1), keyId: 6627672121604571137 } }, $db: "aggregations", $readPreference: { mode: "primary" } } 

请帮助解决此问题。谢谢,

1 个答案:

答案 0 :(得分:0)

好吧,我找到了答案,很明显,这是与权限相关的问题,第二次调用数据库(数据库存储在Atlas集群中)正在传递一些参数(显然),这些参数要么是空的要么是无法正确获取,原因尚不清楚。因此,第二个集合集“ air_alliance”正在再现该错误。

这里有一个有用的话题https://jira.mongodb.org/browse/CSHARP-1722