pymongo.errors.OperationFailure:命令插入需要身份验证

moh*_*sen 6 python mongodb pymongo ubuntu-18.04

我正在创建一个集合并希望将其插入到我的数据库中

我已经导入了 pymongo 并且我以这种方式定义了 db = myClient["mydb"] 但它说命令插入需要身份验证

 >>> import pymongo
 >>> from pymongo import MongoClient
 >>> myClient = MongoClient()
 >>> db = myClient.mydb
 >>> users = db.users
 >>> user1 = {"username": "nick", "password": "mysecurepass", "fav_num": 445}
 >>> user_id = users.insert_one(user1).inserted_id
Run Code Online (Sandbox Code Playgroud)

第 155 行,在 _check_command_response 中引发 OperationFailure(msg % errmsg, code, response) pymongo.errors.OperationFailure:命令插入需要身份验证

Buz*_*uzz 7

看起来您正在使用的 MongoDB 实例设置了身份验证,但是当您使用创建连接时,您myClient = MongoClient()没有为其提供凭据。当您连接到数据库时,请尝试以下操作:

client = MongoClient('example.com',
                  username='user',
                 password='password')
Run Code Online (Sandbox Code Playgroud)

这会将正确的用户名和密码传递给 Mongo 实例并允许您连接。使用此链接获取有关如何使用 pymongo 进行身份验证的一些示例。