【发布时间】:2020-02-01 07:24:43
【问题描述】:
docker compose yml 文件的 mongo 容器设置如下:
mongo:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: "minu"
MONGO_INITDB_ROOT_PASSWORD: "strongPq23$"
我有一个如下所示的 python 代码:
import pymongo
import sys
class mongo_client:
def __init__(self,host,port,db,username,password):
self.client =pymongo.MongoClient(host=host,port=port,username=username,password=password,authSource=db)
self.mydb = self.client[db]
def insert_one(self,json,collection):
try:
inserted=(self.mydb[collection]).insert_one(json)
except:
print("Unexpected error while inserting into Mongo DB:", sys.exc_info()[0])
return
return inserted.inserted_id
m=mongo_client(host='127.0.0.1',port=27017,db=0,username='minu',password="strongPq23$",authSource=0
m.insert_one(some_dict,collection)
我不知道我做的认证方法是否正确?我收到身份验证错误。我只想使用 insert_one() 插入文档,如果没有容器也没有用户,否则它会起作用
【问题讨论】:
标签: python-3.x mongodb docker-compose pymongo