소스 검색

添加MongoDB配置

dongzhaorui 7 달 전
부모
커밋
bd4f4590cf
1개의 변경된 파일12개의 추가작업 그리고 7개의 파일을 삭제
  1. 12 7
      FworkSpider/feapder/db/mongodb.py

+ 12 - 7
FworkSpider/feapder/db/mongodb.py

@@ -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 = {}