|
@@ -30,26 +30,31 @@ class MongoDB:
|
|
|
user_name=None,
|
|
|
user_pass=None,
|
|
|
url=None,
|
|
|
+ max_pool_size=5, # 默认 100
|
|
|
**kwargs,
|
|
|
):
|
|
|
if url:
|
|
|
- self.client = MongoClient(url, **kwargs)
|
|
|
+ config = dict(host=url)
|
|
|
else:
|
|
|
if not ip:
|
|
|
ip = setting.MONGO_IP
|
|
|
if not port:
|
|
|
port = setting.MONGO_PORT
|
|
|
- if not db:
|
|
|
- db = setting.MONGO_DB
|
|
|
if not user_name:
|
|
|
user_name = setting.MONGO_USER_NAME
|
|
|
if not user_pass:
|
|
|
user_pass = setting.MONGO_USER_PASS
|
|
|
- self.client = MongoClient(
|
|
|
- host=ip, port=port, username=user_name, password=user_pass
|
|
|
- )
|
|
|
|
|
|
- self.db = self.get_database(db)
|
|
|
+ config = dict(host=ip, port=port, username=user_name, password=user_pass)
|
|
|
+
|
|
|
+ if "maxPoolSize" not in kwargs:
|
|
|
+ kwargs["maxPoolSize"] = max_pool_size
|
|
|
+
|
|
|
+ if "uuidRepresentation" not in kwargs:
|
|
|
+ kwargs["uuidRepresentation"] = "standard" # 设置为 standard 以实现跨语言兼容性
|
|
|
+
|
|
|
+ self.client = MongoClient(**config, **kwargs)
|
|
|
+ self.db = self.get_database((db or setting.MONGO_DB))
|
|
|
|
|
|
# 缓存索引信息
|
|
|
self.__index__cached = {}
|