在MongoDB python中连接并使用同一数据库

在MongoDB python中连接并使用同一数据库,python,mongodb,pymongo,Python,Mongodb,Pymongo,我尝试使用PythonPymongo远程连接到MongoDb服务器,但当我尝试显示集合中的文档时,收到错误消息 pymongo.errors.OperationFailure:未授权pt执行命令{find:“devices”,筛选器:{} 另外,当我尝试从mongo获取单个记录时,它不会显示记录详细信息,而是显示为 “位于0x000001E883A14F98的pymongo.cursor.cursor对象” Mongo服务器详细信息:主机:Someth-pt-ved-01 用户:uname 我的

我尝试使用PythonPymongo远程连接到MongoDb服务器,但当我尝试显示集合中的文档时,收到错误消息

pymongo.errors.OperationFailure:未授权pt执行命令{find:“devices”,筛选器:{}

另外,当我尝试从mongo获取单个记录时,它不会显示记录详细信息,而是显示为

“位于0x000001E883A14F98的pymongo.cursor.cursor对象”

Mongo服务器详细信息:主机:Someth-pt-ved-01 用户:uname 我的通行证 authenticationDatabase:pt 收集:设备


我的连接python代码是:

from pymongo import MongoClient
uri = "mongodb://uname:mypass@Someth-pt-ved-01:27017"
client = MongoClient(uri)
db = client.pt
collection = db.devices
#to get single record details
cursor = collection.find({'ID': 1490660})
print(cursor)
#to get all documents from collection-devices
for document in cursor:
    print(document)

注;我正在使用Windows 10。

这意味着用户“未经授权”,就像错误所说的那样。用户缺少所需的权限,或者您的数据库命名空间错误。检查您是否确实为所选数据库的用户分配了
read
readWrite
。有关详细信息,请访问。请注意,最常见的错误是
dbAdmin
实际上没有查询集合的权限。我可以使用命令行在同一数据库上执行任何读写更新删除操作。编辑您的问题以显示“连接到并使用同一数据库”以及其他内容。如果凭据良好,那么您应该能够连接到同一个数据库并发出无错误的查询。但我想说的是,您要么连接到一个“不同”的数据库,要么用户仍然缺乏特权,并且该操作将由于相同的原因被拒绝。因此,与发现实际的bug相比,更可能做一些不同的事情。举证责任在你身上。展示一些可以证明你的情况的东西,或者在这样做的过程中意识到错误。我如何检查我在MongoDB中的(用户)内置角色?我尝试了db.getRoles()。。。获取以下错误:[thread1]错误:未授权pt执行命令{RoleInfo:1.0} : _getErrorWithCode@src/mongo/shell/utils.js:25:13db.prototype。getRoles@src/mongo/shell/db.js:1671:1显示您可以在声明或收回声明时进行连接,并以创建凭据的方式更正凭据。这不是聊天室。你已经被告知去哪里看,并且有很多关于这个主题的文档。