django - Mongodb django 设置
问题描述
我有一个 django 项目,它在本地运行良好。我部署在远程服务器上,但 mongodb 似乎不起作用,因为我有这个部分回溯:
djongo.exceptions.SQLDecodeError:
Keyword: FAILED SQL: SELECT "station"."station_name", "station"."id_station" FROM "station"
Params: ()
Pymongo error: OrderedDict([('ok', 0.0), ('errmsg', 'command find requires authentication'), ('code', 13), ('codeName', 'Unauthorized')])
Version: 1.3.6
Sub SQL: None
FAILED SQL: None
Params: None
Version: None
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/kafka/anaconda3/envs/djangocrops/lib/python3.9/site-packages/django/db/utils.py", line 97, in inner
return func(*args, **kwargs)
File "/home/kafka/anaconda3/envs/djangocrops/lib/python3.9/site-packages/djongo/cursor.py", line 70, in fetchmany
raise db_exe from e
djongo.database.DatabaseError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/kafka/anaconda3/envs/djangocrops/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/home/kafka/anaconda3/envs/djangocrops/lib/python3.9/threading.py", line 910, in run
我在设置和 utils.py 文件中设置了我的 mongodb(在它本地运行的服务器上):
数据库 django 设置:
DATABASES = {
'default': {
'ENGINE' : 'djongo',
'NAME' : 'meteodata',
'HOST': '127.0.0.1', #localhost',
'PORT': 27017,
'USERNAME': 'admin',
'PASSWORD': 'mypwd',
'MONGO_URI': "mongodb://admin:mypwd@127.0.0.127017/meteodata"
}
}
实用程序.py
from pymongo import MongoClient
import pymongo
def get_db_handle(db_name, host, port, username, password): #, username, password):
client = MongoClient(host=host,
port=int(port),
username=username,
password=password,
authSource="admin",
)# localhost 27017
print('client', client)
db_handle = client[db_name]
return db_handle, client
def get_collection_handle(db_handle, collection_name):
return db_handle[collection_name]
client = get_db_handle('meteodata', '127.0.0.1', 27017, 'admin', 'mypwd')[1]
collection = client.meteodata
我用作主机 localhost,IP 服务器,但任何解决方案都有效。其他类似的问题并不能解决我的问题。
解决方案
推荐阅读
- javascript - Vuex:Firebase 路由。如果语句
- json - 遍历 JSONObject
- c# - 如果内容页不包含,则仅在母版页中包含表单标签
- solr - 在使用模式的 solr 中如何在新字段中复制最低价格
- java - 我们如何创建其他枚举的 ENUM 联合
- r - 很简单,为什么 (-1)^(1/3) 在函数中使用时返回 NaN?
- javascript - 如何在 PHP 中解析通过 AJAX 发送的嵌套 JSON
- html - 防止表格垂直拉伸以填满表格
- python-3.x - 字体和 unicode - python 中的 PIL
- json - 是否有修复此表达式以正确获取键值对