使用python代码登陆pymongodb数据库的问题

使用python安装模块pymongo之后,登陆自己在虚拟机的Ubuntu16.4系统中创建的mongodb数据库 , 然后写了如下的代码

img

由于我在数据库中设置了权限认证 , 因此需要进行账号的登陆
大致的意思是创建一个数据库然后再其中创建一个集合插入一条任意的数据

然后报错如图

img

尝试搜索错误之后找到了另外一篇帖子的代码

img


然后继续报错了

img

然后尝试这样的代码

img

报错

img

img


这个是数据类型错误,应该你插入数据的方法不对,不是用户认证问题

from pymongo import MongoClient

client = MongoClient(
    "mongodb://{user}:{password}@{host}:{port}".format(user='admin', password='123456',
                                                       host='127.0.0.1',
                                                       port=27017))
db_list = client.list_database_names()
# 判断db是否存在
if 'test_db' not in db_list:
    # 不存在则创建这个db
    new_db = client['test_db']
else:
    pass

my_db = client['test_db']
# 获取test_db下的集合名称列表
col_list = my_db.list_collection_names()
# 判断 'test_col'这个集合是否在列表中
if 'test_col' not in col_list:
    # 不存在则创建集合
    new_col = my_db['test_col']
else:
    pass
my_col = my_db['test_col']
# 新建一条字典信息
test_dict = {'name': 'TOM', 'age': 20}
# 插入一条数据
result = my_col.insert_one(test_dict)
print(result.inserted_id)

插入用insert_one

img