From 3c4851b9cae0884dacf1324b7ca29eff3660e387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=98=E9=A3=8E?= Date: Sun, 4 Jan 2026 12:19:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 8 + LICENSE | 21 + MCP/mcp.json | 11 + MCP/数据库账户密码.md | 15 + README.md | 85 +- app/controller/IndexController.php | 24 + app/controller/UserController.php | 16 + app/functions.php | 4 + app/middleware/StaticFile.php | 42 + app/model/Test.php | 29 + app/model/User.php | 37 + app/process/Http.php | 10 + app/process/Monitor.php | 305 +++ app/view/index/view.html | 14 + composer.json | 56 + composer.lock | 2455 ++++++++++++++++++ config/app.php | 26 + config/autoload.php | 21 + config/bootstrap.php | 17 + config/container.php | 15 + config/database.php | 27 + config/dependence.php | 15 + config/exception.php | 17 + config/log.php | 32 + config/middleware.php | 15 + config/process.php | 62 + config/route.php | 21 + config/server.php | 23 + config/session.php | 65 + config/static.php | 23 + config/translation.php | 25 + config/view.php | 22 + go.sh | 46 + public/favicon.ico | Bin 0 -> 4286 bytes src/store/module/websocket/websocket.ts | 0 src/utils/cacheCleaner.ts | 73 + start.php | 5 + support/Request.php | 24 + support/Response.php | 24 + support/bootstrap.php | 139 + weChat.ts | 3 + windows.bat | 3 + windows.php | 136 + 技术方案.md | 348 +++ 数据库/KR.js | 374 +++ 数据库/KR_KR.js | 509 ++++ 数据库/KR_Linkedln.js | 31 + 数据库/KR_京东.js | 31 + 数据库/KR_人才库.js | 37 + 数据库/KR_企业.js | 142 + 数据库/KR_企业名录.js | 115 + 数据库/KR_卡若私域.js | 228 ++ 数据库/KR_商城.js | 122 + 数据库/KR_国外.js | 359 +++ 数据库/KR_存客宝.js | 618 +++++ 数据库/KR_存客宝_四表重构KR_KR版.js | 65 + 数据库/KR_微博.js | 36 + 数据库/KR_快递.js | 90 + 数据库/KR_户口.js | 46 + 数据库/KR_手机.js | 186 ++ 数据库/KR_投资.js | 223 ++ 数据库/KR_淘宝.js | 223 ++ 数据库/KR_游戏.js | 156 ++ 数据库/KR_腾讯.js | 1136 ++++++++ 数据库/KR_酒店.js | 79 + 数据库/KR_销售额3000万元-5000万元企业名录.js | 85 + 数据库/KR_顺丰.js | 91 + 数据库/KR_香港在大陆投资企业名录.js | 217 ++ 数据库/KR_魔兽世界.js | 103 + 数据库列表.md | 25 + 70 files changed, 9660 insertions(+), 26 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 MCP/mcp.json create mode 100644 MCP/数据库账户密码.md create mode 100644 app/controller/IndexController.php create mode 100644 app/controller/UserController.php create mode 100644 app/functions.php create mode 100644 app/middleware/StaticFile.php create mode 100644 app/model/Test.php create mode 100644 app/model/User.php create mode 100644 app/process/Http.php create mode 100644 app/process/Monitor.php create mode 100644 app/view/index/view.html create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/app.php create mode 100644 config/autoload.php create mode 100644 config/bootstrap.php create mode 100644 config/container.php create mode 100644 config/database.php create mode 100644 config/dependence.php create mode 100644 config/exception.php create mode 100644 config/log.php create mode 100644 config/middleware.php create mode 100644 config/process.php create mode 100644 config/route.php create mode 100644 config/server.php create mode 100644 config/session.php create mode 100644 config/static.php create mode 100644 config/translation.php create mode 100644 config/view.php create mode 100644 go.sh create mode 100644 public/favicon.ico create mode 100644 src/store/module/websocket/websocket.ts create mode 100644 src/utils/cacheCleaner.ts create mode 100644 start.php create mode 100644 support/Request.php create mode 100644 support/Response.php create mode 100644 support/bootstrap.php create mode 100644 weChat.ts create mode 100644 windows.bat create mode 100644 windows.php create mode 100644 技术方案.md create mode 100644 数据库/KR.js create mode 100644 数据库/KR_KR.js create mode 100644 数据库/KR_Linkedln.js create mode 100644 数据库/KR_京东.js create mode 100644 数据库/KR_人才库.js create mode 100644 数据库/KR_企业.js create mode 100644 数据库/KR_企业名录.js create mode 100644 数据库/KR_卡若私域.js create mode 100644 数据库/KR_商城.js create mode 100644 数据库/KR_国外.js create mode 100644 数据库/KR_存客宝.js create mode 100644 数据库/KR_存客宝_四表重构KR_KR版.js create mode 100644 数据库/KR_微博.js create mode 100644 数据库/KR_快递.js create mode 100644 数据库/KR_户口.js create mode 100644 数据库/KR_手机.js create mode 100644 数据库/KR_投资.js create mode 100644 数据库/KR_淘宝.js create mode 100644 数据库/KR_游戏.js create mode 100644 数据库/KR_腾讯.js create mode 100644 数据库/KR_酒店.js create mode 100644 数据库/KR_销售额3000万元-5000万元企业名录.js create mode 100644 数据库/KR_顺丰.js create mode 100644 数据库/KR_香港在大陆投资企业名录.js create mode 100644 数据库/KR_魔兽世界.js create mode 100644 数据库列表.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..516299c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/runtime +/.idea +/.vscode +/vendor +*.log +.env +/tests/tmp +/tests/.phpunit.result.cache diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2c66292 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 walkor and contributors (see https://github.com/walkor/webman/contributors) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MCP/mcp.json b/MCP/mcp.json new file mode 100644 index 0000000..2decb6d --- /dev/null +++ b/MCP/mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "MongoDB": { + "command": "npx", + "args": ["-y", "mongodb-mcp-server@latest", "--readOnly"], + "env": { + "MDB_MCP_CONNECTION_STRING": "mongodb://ckb:123456@192.168.1.106:27017/ckb" + } + } + } + } \ No newline at end of file diff --git a/MCP/数据库账户密码.md b/MCP/数据库账户密码.md new file mode 100644 index 0000000..6d14bc2 --- /dev/null +++ b/MCP/数据库账户密码.md @@ -0,0 +1,15 @@ +# 账户密码 +``` +HOST 192.168.1.106 +PORT 27017 +ACCOUNT:ckb +DBNAME:ckb +PASSWROD:123456 +``` + +================== +# 环境准备 +需要安装一个全局环境否则无法运行 +node版本为22.12.0 + +npm i mongodb-mcp-server -g \ No newline at end of file diff --git a/README.md b/README.md index 2ad4ef5..4031784 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,70 @@ -# 数据中心 +
+

webman

-#### 介绍 -Serverruntime - -#### 软件架构 -软件架构说明 +基于workerman开发的超高性能PHP框架 -#### 安装教程 +

学习

-1. xxxx -2. xxxx -3. xxxx + -#### 使用说明 +
-1. xxxx -2. xxxx -3. xxxx +

赞助商

-#### 参与贡献 +

特别赞助

+ + + -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +

铂金赞助

+ + -#### 特技 +
+ + +
+ +

请作者喝咖啡

+ + + +
+如果您觉得webman对您有所帮助,欢迎捐赠。 + + +
+ + +
+

LICENSE

+The webman is open-sourced software licensed under the MIT. +
+ +
+ -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/app/controller/IndexController.php b/app/controller/IndexController.php new file mode 100644 index 0000000..7d904fa --- /dev/null +++ b/app/controller/IndexController.php @@ -0,0 +1,24 @@ + 'webman']); + } + + public function json(Request $request) + { + return json(['code' => 0, 'msg' => 'ok']); + } + +} diff --git a/app/controller/UserController.php b/app/controller/UserController.php new file mode 100644 index 0000000..b23f213 --- /dev/null +++ b/app/controller/UserController.php @@ -0,0 +1,16 @@ +get('name', $default_name); + // 向浏览器返回字符串 + return response('hello ' . $name); + } +} \ No newline at end of file diff --git a/app/functions.php b/app/functions.php new file mode 100644 index 0000000..5c9c58d --- /dev/null +++ b/app/functions.php @@ -0,0 +1,4 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace app\middleware; + +use Webman\MiddlewareInterface; +use Webman\Http\Response; +use Webman\Http\Request; + +/** + * Class StaticFile + * @package app\middleware + */ +class StaticFile implements MiddlewareInterface +{ + public function process(Request $request, callable $handler): Response + { + // Access to files beginning with. Is prohibited + if (strpos($request->path(), '/.') !== false) { + return response('

403 forbidden

', 403); + } + /** @var Response $response */ + $response = $handler($request); + // Add cross domain HTTP header + /*$response->withHeaders([ + 'Access-Control-Allow-Origin' => '*', + 'Access-Control-Allow-Credentials' => 'true', + ]);*/ + return $response; + } +} diff --git a/app/model/Test.php b/app/model/Test.php new file mode 100644 index 0000000..92d70e3 --- /dev/null +++ b/app/model/Test.php @@ -0,0 +1,29 @@ + 'string', + 'age' => 'integer', + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'tags' => 'array', // 支持数组类型(MongoDB 原生支持数组) + ]; + + // 自动维护时间戳(created_at/updated_at,默认启用) + // 若不需要可关闭:public $timestamps = false; + + // 自定义时间戳字段名(可选) + // const CREATED_AT = 'create_time'; + // const UPDATED_AT = 'update_time'; +} \ No newline at end of file diff --git a/app/process/Http.php b/app/process/Http.php new file mode 100644 index 0000000..f462c3a --- /dev/null +++ b/app/process/Http.php @@ -0,0 +1,10 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace app\process; + +use FilesystemIterator; +use RecursiveDirectoryIterator; +use RecursiveIteratorIterator; +use SplFileInfo; +use Workerman\Timer; +use Workerman\Worker; + +/** + * Class FileMonitor + * @package process + */ +class Monitor +{ + /** + * @var array + */ + protected array $paths = []; + + /** + * @var array + */ + protected array $extensions = []; + + /** + * @var array + */ + protected array $loadedFiles = []; + + /** + * @var int + */ + protected int $ppid = 0; + + /** + * Pause monitor + * @return void + */ + public static function pause(): void + { + file_put_contents(static::lockFile(), time()); + } + + /** + * Resume monitor + * @return void + */ + public static function resume(): void + { + clearstatcache(); + if (is_file(static::lockFile())) { + unlink(static::lockFile()); + } + } + + /** + * Whether monitor is paused + * @return bool + */ + public static function isPaused(): bool + { + clearstatcache(); + return file_exists(static::lockFile()); + } + + /** + * Lock file + * @return string + */ + protected static function lockFile(): string + { + return runtime_path('monitor.lock'); + } + + /** + * FileMonitor constructor. + * @param $monitorDir + * @param $monitorExtensions + * @param array $options + */ + public function __construct($monitorDir, $monitorExtensions, array $options = []) + { + $this->ppid = function_exists('posix_getppid') ? posix_getppid() : 0; + static::resume(); + $this->paths = (array)$monitorDir; + $this->extensions = $monitorExtensions; + foreach (get_included_files() as $index => $file) { + $this->loadedFiles[$file] = $index; + if (strpos($file, 'webman-framework/src/support/App.php')) { + break; + } + } + if (!Worker::getAllWorkers()) { + return; + } + $disableFunctions = explode(',', ini_get('disable_functions')); + if (in_array('exec', $disableFunctions, true)) { + echo "\nMonitor file change turned off because exec() has been disabled by disable_functions setting in " . PHP_CONFIG_FILE_PATH . "/php.ini\n"; + } else { + if ($options['enable_file_monitor'] ?? true) { + Timer::add(1, function () { + $this->checkAllFilesChange(); + }); + } + } + + $memoryLimit = $this->getMemoryLimit($options['memory_limit'] ?? null); + if ($memoryLimit && ($options['enable_memory_monitor'] ?? true)) { + Timer::add(60, [$this, 'checkMemory'], [$memoryLimit]); + } + } + + /** + * @param $monitorDir + * @return bool + */ + public function checkFilesChange($monitorDir): bool + { + static $lastMtime, $tooManyFilesCheck; + if (!$lastMtime) { + $lastMtime = time(); + } + clearstatcache(); + if (!is_dir($monitorDir)) { + if (!is_file($monitorDir)) { + return false; + } + $iterator = [new SplFileInfo($monitorDir)]; + } else { + // recursive traversal directory + $dirIterator = new RecursiveDirectoryIterator($monitorDir, FilesystemIterator::SKIP_DOTS | FilesystemIterator::FOLLOW_SYMLINKS); + $iterator = new RecursiveIteratorIterator($dirIterator); + } + $count = 0; + foreach ($iterator as $file) { + $count ++; + /** var SplFileInfo $file */ + if (is_dir($file->getRealPath())) { + continue; + } + // check mtime + if (in_array($file->getExtension(), $this->extensions, true) && $lastMtime < $file->getMTime()) { + $lastMtime = $file->getMTime(); + if (DIRECTORY_SEPARATOR === '/' && isset($this->loadedFiles[$file->getRealPath()])) { + echo "$file updated but cannot be reloaded because only auto-loaded files support reload.\n"; + continue; + } + $var = 0; + exec('"'.PHP_BINARY . '" -l ' . $file, $out, $var); + if ($var) { + continue; + } + // send SIGUSR1 signal to master process for reload + if (DIRECTORY_SEPARATOR === '/') { + if ($masterPid = $this->getMasterPid()) { + echo $file . " updated and reload\n"; + posix_kill($masterPid, SIGUSR1); + } else { + echo "Master process has gone away and can not reload\n"; + } + return true; + } + echo $file . " updated and reload\n"; + return true; + } + } + if (!$tooManyFilesCheck && $count > 1000) { + echo "Monitor: There are too many files ($count files) in $monitorDir which makes file monitoring very slow\n"; + $tooManyFilesCheck = 1; + } + return false; + } + + /** + * @return int + */ + public function getMasterPid(): int + { + if ($this->ppid === 0) { + return 0; + } + if (function_exists('posix_kill') && !posix_kill($this->ppid, 0)) { + echo "Master process has gone away\n"; + return $this->ppid = 0; + } + if (PHP_OS_FAMILY !== 'Linux') { + return $this->ppid; + } + $cmdline = "/proc/$this->ppid/cmdline"; + if (!is_readable($cmdline) || !($content = file_get_contents($cmdline)) || (!str_contains($content, 'WorkerMan') && !str_contains($content, 'php'))) { + // Process not exist + $this->ppid = 0; + } + return $this->ppid; + } + + /** + * @return bool + */ + public function checkAllFilesChange(): bool + { + if (static::isPaused()) { + return false; + } + foreach ($this->paths as $path) { + if ($this->checkFilesChange($path)) { + return true; + } + } + return false; + } + + /** + * @param $memoryLimit + * @return void + */ + public function checkMemory($memoryLimit): void + { + if (static::isPaused() || $memoryLimit <= 0) { + return; + } + $masterPid = $this->getMasterPid(); + if ($masterPid <= 0) { + echo "Master process has gone away\n"; + return; + } + + $childrenFile = "/proc/$masterPid/task/$masterPid/children"; + if (!is_file($childrenFile) || !($children = file_get_contents($childrenFile))) { + return; + } + foreach (explode(' ', $children) as $pid) { + $pid = (int)$pid; + $statusFile = "/proc/$pid/status"; + if (!is_file($statusFile) || !($status = file_get_contents($statusFile))) { + continue; + } + $mem = 0; + if (preg_match('/VmRSS\s*?:\s*?(\d+?)\s*?kB/', $status, $match)) { + $mem = $match[1]; + } + $mem = (int)($mem / 1024); + if ($mem >= $memoryLimit) { + posix_kill($pid, SIGINT); + } + } + } + + /** + * Get memory limit + * @param $memoryLimit + * @return int + */ + protected function getMemoryLimit($memoryLimit): int + { + if ($memoryLimit === 0) { + return 0; + } + $usePhpIni = false; + if (!$memoryLimit) { + $memoryLimit = ini_get('memory_limit'); + $usePhpIni = true; + } + + if ($memoryLimit == -1) { + return 0; + } + $unit = strtolower($memoryLimit[strlen($memoryLimit) - 1]); + $memoryLimit = (int)$memoryLimit; + if ($unit === 'g') { + $memoryLimit = 1024 * $memoryLimit; + } else if ($unit === 'k') { + $memoryLimit = ($memoryLimit / 1024); + } else if ($unit === 'm') { + $memoryLimit = (int)($memoryLimit); + } else if ($unit === 't') { + $memoryLimit = (1024 * 1024 * $memoryLimit); + } else { + $memoryLimit = ($memoryLimit / (1024 * 1024)); + } + if ($memoryLimit < 50) { + $memoryLimit = 50; + } + if ($usePhpIni) { + $memoryLimit = (0.8 * $memoryLimit); + } + return (int)$memoryLimit; + } + +} diff --git a/app/view/index/view.html b/app/view/index/view.html new file mode 100644 index 0000000..67ebb26 --- /dev/null +++ b/app/view/index/view.html @@ -0,0 +1,14 @@ + + + + + + + + webman + + + +hello + + diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..82eaf4f --- /dev/null +++ b/composer.json @@ -0,0 +1,56 @@ +{ + "name": "workerman/webman", + "type": "project", + "keywords": [ + "high performance", + "http service" + ], + "homepage": "https://www.workerman.net", + "license": "MIT", + "description": "High performance HTTP Service Framework.", + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "https://www.workerman.net", + "role": "Developer" + } + ], + "support": { + "email": "walkor@workerman.net", + "issues": "https://github.com/walkor/webman/issues", + "forum": "https://wenda.workerman.net/", + "wiki": "https://workerman.net/doc/webman", + "source": "https://github.com/walkor/webman" + }, + "require": { + "php": ">=8.1", + "workerman/webman-framework": "^2.1", + "monolog/monolog": "^2.0", + "mongodb/laravel-mongodb": "^4.0" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "autoload": { + "psr-4": { + "": "./", + "app\\": "./app", + "App\\": "./app", + "app\\View\\Components\\": "./app/view/components" + } + }, + "scripts": { + "post-package-install": [ + "support\\Plugin::install" + ], + "post-package-update": [ + "support\\Plugin::install" + ], + "pre-package-uninstall": [ + "support\\Plugin::uninstall" + ] + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..3ece18e --- /dev/null +++ b/composer.lock @@ -0,0 +1,2455 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "b36fd3581fc1bf43e25a6294dd7efc58", + "packages": [ + { + "name": "brick/math", + "version": "0.14.0", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", + "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2", + "shasum": "" + }, + "require": { + "php": "^8.2" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpstan/phpstan": "2.1.22", + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "bignumber", + "brick", + "decimal", + "integer", + "math", + "mathematics", + "rational" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.14.0" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2025-08-29T12:40:03+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d", + "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "conflict": { + "doctrine/dbal": "<4.0.0 || >=5.0.0" + }, + "require-dev": { + "doctrine/dbal": "^4.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.1.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2025-08-10T19:31:58+00:00" + }, + { + "name": "illuminate/bus", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/bus.git", + "reference": "5f7cd1f99b2ff7dd0ef20aead81da1390c4bc8e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/bus/zipball/5f7cd1f99b2ff7dd0ef20aead81da1390c4bc8e3", + "reference": "5f7cd1f99b2ff7dd0ef20aead81da1390c4bc8e3", + "shasum": "" + }, + "require": { + "illuminate/collections": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/pipeline": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" + }, + "suggest": { + "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Bus\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Bus package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/cache", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/cache.git", + "reference": "f9196623f6b75f7e69b9ac92f367491909753987" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/cache/zipball/f9196623f6b75f7e69b9ac92f367491909753987", + "reference": "f9196623f6b75f7e69b9ac92f367491909753987", + "shasum": "" + }, + "require": { + "illuminate/collections": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/macroable": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" + }, + "provide": { + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "suggest": { + "ext-apcu": "Required to use the APC cache driver.", + "ext-filter": "Required to use the DynamoDb cache driver.", + "ext-memcached": "Required to use the memcache cache driver.", + "illuminate/database": "Required to use the database cache driver (^11.0).", + "illuminate/filesystem": "Required to use the file cache driver (^11.0).", + "illuminate/redis": "Required to use the redis cache driver (^11.0).", + "symfony/cache": "Required to use PSR-6 cache bridge (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Cache package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-01-27T22:47:27+00:00" + }, + { + "name": "illuminate/collections", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/collections.git", + "reference": "856b1da953e46281ba61d7c82d337072d3ee1825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/collections/zipball/856b1da953e46281ba61d7c82d337072d3ee1825", + "reference": "856b1da953e46281ba61d7c82d337072d3ee1825", + "shasum": "" + }, + "require": { + "illuminate/conditionable": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/macroable": "^11.0", + "php": "^8.2" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "files": [ + "functions.php", + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Collections package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/conditionable", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/conditionable.git", + "reference": "319b717e0587bd7c8a3b44464f0e27867b4bcda9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/319b717e0587bd7c8a3b44464f0e27867b4bcda9", + "reference": "319b717e0587bd7c8a3b44464f0e27867b4bcda9", + "shasum": "" + }, + "require": { + "php": "^8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Conditionable package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/container", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/container.git", + "reference": "79bf9149ad7ddd7e14326ebcdd41197d2c4ee36a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/container/zipball/79bf9149ad7ddd7e14326ebcdd41197d2c4ee36a", + "reference": "79bf9149ad7ddd7e14326ebcdd41197d2c4ee36a", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^11.0", + "php": "^8.2", + "psr/container": "^1.1.1|^2.0.1" + }, + "provide": { + "psr/container-implementation": "1.1|2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Container\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Container package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "4b2a67d1663f50085bc91e6371492697a5d2d4e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/4b2a67d1663f50085bc91e6371492697a5d2d4e8", + "reference": "4b2a67d1663f50085bc91e6371492697a5d2d4e8", + "shasum": "" + }, + "require": { + "php": "^8.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/simple-cache": "^1.0|^2.0|^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/database", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/database.git", + "reference": "96abcce13f405701363d916dd312835e04848d04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/database/zipball/96abcce13f405701363d916dd312835e04848d04", + "reference": "96abcce13f405701363d916dd312835e04848d04", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", + "ext-pdo": "*", + "illuminate/collections": "^11.0", + "illuminate/container": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/macroable": "^11.0", + "illuminate/support": "^11.0", + "laravel/serializable-closure": "^1.3|^2.0", + "php": "^8.2" + }, + "suggest": { + "ext-filter": "Required to use the Postgres database driver.", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.24).", + "illuminate/console": "Required to use the database commands (^11.0).", + "illuminate/events": "Required to use the observers with Eloquent (^11.0).", + "illuminate/filesystem": "Required to use the migrations (^11.0).", + "illuminate/pagination": "Required to paginate the result set (^11.0).", + "symfony/finder": "Required to use Eloquent model factories (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Database\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Database package.", + "homepage": "https://laravel.com", + "keywords": [ + "database", + "laravel", + "orm", + "sql" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-09-29T09:23:31+00:00" + }, + { + "name": "illuminate/events", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/events.git", + "reference": "b72dab66d8e05d22dc5aa949efec150bbc73e827" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/events/zipball/b72dab66d8e05d22dc5aa949efec150bbc73e827", + "reference": "b72dab66d8e05d22dc5aa949efec150bbc73e827", + "shasum": "" + }, + "require": { + "illuminate/bus": "^11.0", + "illuminate/collections": "^11.0", + "illuminate/container": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/macroable": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "files": [ + "functions.php" + ], + "psr-4": { + "Illuminate\\Events\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Events package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/macroable", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/macroable.git", + "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed", + "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed", + "shasum": "" + }, + "require": { + "php": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Macroable package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2024-06-28T20:10:30+00:00" + }, + { + "name": "illuminate/pipeline", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/pipeline.git", + "reference": "f73bb7cab13ac8ef91094dc46976f5e992eea127" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f73bb7cab13ac8ef91094dc46976f5e992eea127", + "reference": "f73bb7cab13ac8ef91094dc46976f5e992eea127", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^11.0", + "illuminate/support": "^11.0", + "php": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Pipeline\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Pipeline package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-03-24T11:54:20+00:00" + }, + { + "name": "illuminate/support", + "version": "v11.46.1", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "716b5e258ee670cf143da883495b22595db12b90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/716b5e258ee670cf143da883495b22595db12b90", + "reference": "716b5e258ee670cf143da883495b22595db12b90", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^2.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-mbstring": "*", + "illuminate/collections": "^11.0", + "illuminate/conditionable": "^11.0", + "illuminate/contracts": "^11.0", + "illuminate/macroable": "^11.0", + "nesbot/carbon": "^2.72.6|^3.8.4", + "php": "^8.2", + "voku/portable-ascii": "^2.0.2" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "replace": { + "spatie/once": "*" + }, + "suggest": { + "illuminate/filesystem": "Required to use the Composer class (^11.0).", + "laravel/serializable-closure": "Required to use the once function (^1.3|^2.0).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.7).", + "league/uri": "Required to use the Uri class (^7.5.1).", + "ramsey/uuid": "Required to use Str::uuid() (^4.7).", + "symfony/process": "Required to use the Composer class (^7.0).", + "symfony/uid": "Required to use Str::ulid() (^7.0).", + "symfony/var-dumper": "Required to use the dd function (^7.0).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.6.1)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "11.x-dev" + } + }, + "autoload": { + "files": [ + "functions.php", + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-08-11T14:50:36+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "038ce42edee619599a1debb7e81d7b3759492819" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819", + "reference": "038ce42edee619599a1debb7e81d7b3759492819", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2025-10-09T13:42:30+00:00" + }, + { + "name": "mongodb/laravel-mongodb", + "version": "4.8.1", + "source": { + "type": "git", + "url": "https://github.com/mongodb/laravel-mongodb.git", + "reference": "da3a46a1b4ca25117c1d388dd6348206d04e4a9f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/da3a46a1b4ca25117c1d388dd6348206d04e4a9f", + "reference": "da3a46a1b4ca25117c1d388dd6348206d04e4a9f", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.0.0", + "ext-mongodb": "^1.15", + "illuminate/cache": "^10.36|^11", + "illuminate/container": "^10.0|^11", + "illuminate/database": "^10.30|^11", + "illuminate/events": "^10.0|^11", + "illuminate/support": "^10.0|^11", + "mongodb/mongodb": "^1.15", + "php": "^8.1" + }, + "conflict": { + "illuminate/bus": "< 10.37.2" + }, + "replace": { + "jenssegers/mongodb": "self.version" + }, + "require-dev": { + "doctrine/coding-standard": "12.0.x-dev", + "league/flysystem-gridfs": "^3.28", + "league/flysystem-read-only": "^3.0", + "mockery/mockery": "^1.4.4", + "mongodb/builder": "^0.2", + "orchestra/testbench": "^8.0|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.3", + "spatie/laravel-query-builder": "^5.6" + }, + "suggest": { + "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS", + "mongodb/builder": "Provides a fluent aggregation builder for MongoDB pipelines" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "MongoDB\\Laravel\\MongoDBServiceProvider", + "MongoDB\\Laravel\\MongoDBQueueServiceProvider", + "MongoDB\\Laravel\\MongoDBBusServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "MongoDB\\Laravel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Braun", + "email": "andreas.braun@mongodb.com", + "role": "Leader" + }, + { + "name": "Jérôme Tamarelle", + "email": "jerome.tamarelle@mongodb.com", + "role": "Maintainer" + }, + { + "name": "Jeremy Mikola", + "email": "jmikola@gmail.com", + "role": "Maintainer" + }, + { + "name": "Jens Segers", + "homepage": "https://jenssegers.com", + "role": "Creator" + } + ], + "description": "A MongoDB based Eloquent model and Query builder for Laravel", + "homepage": "https://github.com/mongodb/laravel-mongodb", + "keywords": [ + "database", + "eloquent", + "laravel", + "model", + "mongo", + "mongodb" + ], + "support": { + "issues": "https://www.mongodb.com/support", + "security": "https://www.mongodb.com/security", + "source": "https://github.com/mongodb/laravel-mongodb/tree/4.8.1" + }, + "time": "2024-11-20T15:01:02+00:00" + }, + { + "name": "mongodb/mongodb", + "version": "1.20.0", + "source": { + "type": "git", + "url": "https://github.com/mongodb/mongo-php-library.git", + "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", + "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.0", + "ext-hash": "*", + "ext-json": "*", + "ext-mongodb": "^1.20.0", + "php": "^7.4 || ^8.0", + "psr/log": "^1.1.4|^2|^3", + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0", + "rector/rector": "^1.1", + "squizlabs/php_codesniffer": "^3.7", + "symfony/phpunit-bridge": "^5.2", + "vimeo/psalm": "^5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "MongoDB\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Andreas Braun", + "email": "andreas.braun@mongodb.com" + }, + { + "name": "Jeremy Mikola", + "email": "jmikola@gmail.com" + }, + { + "name": "Jérôme Tamarelle", + "email": "jerome.tamarelle@mongodb.com" + } + ], + "description": "MongoDB driver library", + "homepage": "https://jira.mongodb.org/browse/PHPLIB", + "keywords": [ + "database", + "driver", + "mongodb", + "persistence" + ], + "support": { + "issues": "https://github.com/mongodb/mongo-php-library/issues", + "source": "https://github.com/mongodb/mongo-php-library/tree/1.20.0" + }, + "time": "2024-09-25T12:54:08+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.38 || ^9.6.19", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2024-11-12T12:43:37+00:00" + }, + { + "name": "nesbot/carbon", + "version": "3.10.3", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", + "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "<100.0", + "ext-json": "*", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^v3.87.1", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.22", + "phpunit/phpunit": "^10.5.53", + "squizlabs/php_codesniffer": "^3.13.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2025-09-06T13:39:36+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-01-02T08:10:11+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, + { + "name": "symfony/translation", + "version": "v7.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "ec25870502d0c7072d086e8ffba1420c85965174" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", + "reference": "ec25870502d0c7072d086e8ffba1420c85965174", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v7.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-09-07T11:39:36+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-27T08:32:26+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "https://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2024-11-21T01:49:47+00:00" + }, + { + "name": "workerman/coroutine", + "version": "v1.1.4", + "source": { + "type": "git", + "url": "https://github.com/workerman-php/coroutine.git", + "reference": "b0bebfa9d41b992ad0a835ddf2ee8fa5d58eca44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/workerman-php/coroutine/zipball/b0bebfa9d41b992ad0a835ddf2ee8fa5d58eca44", + "reference": "b0bebfa9d41b992ad0a835ddf2ee8fa5d58eca44", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^11.0", + "psr/log": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Workerman\\": "src", + "Workerman\\Coroutine\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Workerman coroutine", + "support": { + "issues": "https://github.com/workerman-php/coroutine/issues", + "source": "https://github.com/workerman-php/coroutine/tree/v1.1.4" + }, + "time": "2025-10-11T15:09:08+00:00" + }, + { + "name": "workerman/webman-framework", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/walkor/webman-framework.git", + "reference": "f803bd867f07bb0929faef060b59a19a44186bfc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/webman-framework/zipball/f803bd867f07bb0929faef060b59a19a44186bfc", + "reference": "f803bd867f07bb0929faef060b59a19a44186bfc", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": ">=8.1", + "psr/container": ">=1.0", + "psr/log": "^3.0", + "workerman/workerman": "^5.1 || dev-master" + }, + "suggest": { + "ext-event": "For better performance. " + }, + "type": "library", + "autoload": { + "files": [ + "./src/support/helpers.php" + ], + "psr-4": { + "Webman\\": "./src", + "Support\\": "./src/support", + "support\\": "./src/support", + "Support\\View\\": "./src/support/view", + "Support\\Bootstrap\\": "./src/support/bootstrap", + "Support\\Exception\\": "./src/support/exception" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "https://www.workerman.net", + "role": "Developer" + } + ], + "description": "High performance HTTP Service Framework.", + "homepage": "https://www.workerman.net", + "keywords": [ + "High Performance", + "http service" + ], + "support": { + "email": "walkor@workerman.net", + "forum": "https://wenda.workerman.net/", + "issues": "https://github.com/walkor/webman/issues", + "source": "https://github.com/walkor/webman-framework", + "wiki": "https://doc.workerman.net/" + }, + "time": "2025-03-10T11:52:22+00:00" + }, + { + "name": "workerman/workerman", + "version": "v5.1.4", + "source": { + "type": "git", + "url": "https://github.com/walkor/workerman.git", + "reference": "ff4e17babdc92b16b3252060233c88f6c2e9a61a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/walkor/workerman/zipball/ff4e17babdc92b16b3252060233c88f6c2e9a61a", + "reference": "ff4e17babdc92b16b3252060233c88f6c2e9a61a", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=8.1", + "workerman/coroutine": "^1.1 || dev-main" + }, + "conflict": { + "ext-swow": "=8.1" + }, + "platform-dev": {}, + "plugin-api-version": "2.6.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..f26e358 --- /dev/null +++ b/config/app.php @@ -0,0 +1,26 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use support\Request; + +return [ + 'debug' => true, + 'error_reporting' => E_ALL, + 'default_timezone' => 'Asia/Shanghai', + 'request_class' => Request::class, + 'public_path' => base_path() . DIRECTORY_SEPARATOR . 'public', + 'runtime_path' => base_path(false) . DIRECTORY_SEPARATOR . 'runtime', + 'controller_suffix' => 'Controller', + 'controller_reuse' => false, +]; diff --git a/config/autoload.php b/config/autoload.php new file mode 100644 index 0000000..69a8135 --- /dev/null +++ b/config/autoload.php @@ -0,0 +1,21 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'files' => [ + base_path() . '/app/functions.php', + base_path() . '/support/Request.php', + base_path() . '/support/Response.php', + ] +]; diff --git a/config/bootstrap.php b/config/bootstrap.php new file mode 100644 index 0000000..95d2e87 --- /dev/null +++ b/config/bootstrap.php @@ -0,0 +1,17 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + support\bootstrap\Session::class, +]; diff --git a/config/container.php b/config/container.php new file mode 100644 index 0000000..106b7b4 --- /dev/null +++ b/config/container.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return new Webman\Container; \ No newline at end of file diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..fd7cd4b --- /dev/null +++ b/config/database.php @@ -0,0 +1,27 @@ + 'mysql', // 若需全局用 MongoDB,改为 'mongodb' + + 'connections' => [ + // ... 其他连接(如 mysql)保持不变 + + // MongoDB 官方连接配置 + 'mongodb' => [ + 'driver' => 'mongodb', + 'dsn' => 'mongodb://127.0.0.1:27017', // 集群可写:mongodb://node1:27017,node2:27017 + 'database' => 'Moncter', // 目标数据库名 + 'username' => 'Moncter', // 无认证则省略 + 'password' => '123456', // 无认证则省略 + 'options' => [ + 'replicaSet' => '', // 副本集名称(无则留空) + 'ssl' => false, // 是否启用 SSL + 'connectTimeoutMS' => 3000, // 连接超时 + 'socketTimeoutMS' => 5000, // 读写超时 + // 认证相关(若 MongoDB 启用认证) + 'authSource' => 'admin', // 认证数据库(默认 admin) + 'authMechanism' => 'SCRAM-SHA-256', // 认证机制(默认推荐) + ], + ], + ], +]; \ No newline at end of file diff --git a/config/dependence.php b/config/dependence.php new file mode 100644 index 0000000..8e964ed --- /dev/null +++ b/config/dependence.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return []; \ No newline at end of file diff --git a/config/exception.php b/config/exception.php new file mode 100644 index 0000000..f2aede3 --- /dev/null +++ b/config/exception.php @@ -0,0 +1,17 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + '' => support\exception\Handler::class, +]; \ No newline at end of file diff --git a/config/log.php b/config/log.php new file mode 100644 index 0000000..7f05de5 --- /dev/null +++ b/config/log.php @@ -0,0 +1,32 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'default' => [ + 'handlers' => [ + [ + 'class' => Monolog\Handler\RotatingFileHandler::class, + 'constructor' => [ + runtime_path() . '/logs/webman.log', + 7, //$maxFiles + Monolog\Logger::DEBUG, + ], + 'formatter' => [ + 'class' => Monolog\Formatter\LineFormatter::class, + 'constructor' => [null, 'Y-m-d H:i:s', true], + ], + ] + ], + ], +]; diff --git a/config/middleware.php b/config/middleware.php new file mode 100644 index 0000000..8e964ed --- /dev/null +++ b/config/middleware.php @@ -0,0 +1,15 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return []; \ No newline at end of file diff --git a/config/process.php b/config/process.php new file mode 100644 index 0000000..892dc82 --- /dev/null +++ b/config/process.php @@ -0,0 +1,62 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use support\Log; +use support\Request; +use app\process\Http; + +global $argv; + +return [ + 'webman' => [ + 'handler' => Http::class, + 'listen' => 'http://0.0.0.0:8787', + 'count' => cpu_count() * 4, + 'user' => '', + 'group' => '', + 'reusePort' => false, + 'eventLoop' => '', + 'context' => [], + 'constructor' => [ + 'requestClass' => Request::class, + 'logger' => Log::channel('default'), + 'appPath' => app_path(), + 'publicPath' => public_path() + ] + ], + // File update detection and automatic reload + 'monitor' => [ + 'handler' => app\process\Monitor::class, + 'reloadable' => false, + 'constructor' => [ + // Monitor these directories + 'monitorDir' => array_merge([ + app_path(), + config_path(), + base_path() . '/process', + base_path() . '/support', + base_path() . '/resource', + base_path() . '/.env', + ], glob(base_path() . '/plugin/*/app'), glob(base_path() . '/plugin/*/config'), glob(base_path() . '/plugin/*/api')), + // Files with these suffixes will be monitored + 'monitorExtensions' => [ + 'php', 'html', 'htm', 'env' + ], + 'options' => [ + 'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/', + 'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/', + ] + ] + ] +]; diff --git a/config/route.php b/config/route.php new file mode 100644 index 0000000..a5064fc --- /dev/null +++ b/config/route.php @@ -0,0 +1,21 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use Webman\Route; + + + + + + diff --git a/config/server.php b/config/server.php new file mode 100644 index 0000000..054d01f --- /dev/null +++ b/config/server.php @@ -0,0 +1,23 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +return [ + 'event_loop' => '', + 'stop_timeout' => 2, + 'pid_file' => runtime_path() . '/webman.pid', + 'status_file' => runtime_path() . '/webman.status', + 'stdout_file' => runtime_path() . '/logs/stdout.log', + 'log_file' => runtime_path() . '/logs/workerman.log', + 'max_package_size' => 10 * 1024 * 1024 +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..043f8c4 --- /dev/null +++ b/config/session.php @@ -0,0 +1,65 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use Webman\Session\FileSessionHandler; +use Webman\Session\RedisSessionHandler; +use Webman\Session\RedisClusterSessionHandler; + +return [ + + 'type' => 'file', // or redis or redis_cluster + + 'handler' => FileSessionHandler::class, + + 'config' => [ + 'file' => [ + 'save_path' => runtime_path() . '/sessions', + ], + 'redis' => [ + 'host' => '127.0.0.1', + 'port' => 6379, + 'auth' => '', + 'timeout' => 2, + 'database' => '', + 'prefix' => 'redis_session_', + ], + 'redis_cluster' => [ + 'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'], + 'timeout' => 2, + 'auth' => '', + 'prefix' => 'redis_session_', + ] + ], + + 'session_name' => 'PHPSID', + + 'auto_update_timestamp' => false, + + 'lifetime' => 7*24*60*60, + + 'cookie_lifetime' => 365*24*60*60, + + 'cookie_path' => '/', + + 'domain' => '', + + 'http_only' => true, + + 'secure' => false, + + 'same_site' => '', + + 'gc_probability' => [1, 1000], + +]; diff --git a/config/static.php b/config/static.php new file mode 100644 index 0000000..6313679 --- /dev/null +++ b/config/static.php @@ -0,0 +1,23 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +/** + * Static file settings + */ +return [ + 'enable' => true, + 'middleware' => [ // Static file Middleware + //app\middleware\StaticFile::class, + ], +]; \ No newline at end of file diff --git a/config/translation.php b/config/translation.php new file mode 100644 index 0000000..96589b2 --- /dev/null +++ b/config/translation.php @@ -0,0 +1,25 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +/** + * Multilingual configuration + */ +return [ + // Default language + 'locale' => 'zh_CN', + // Fallback language + 'fallback_locale' => ['zh_CN', 'en'], + // Folder where language files are stored + 'path' => base_path() . '/resource/translations', +]; \ No newline at end of file diff --git a/config/view.php b/config/view.php new file mode 100644 index 0000000..e3a7b85 --- /dev/null +++ b/config/view.php @@ -0,0 +1,22 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use support\view\Raw; +use support\view\Twig; +use support\view\Blade; +use support\view\ThinkPHP; + +return [ + 'handler' => Raw::class +]; diff --git a/go.sh b/go.sh new file mode 100644 index 0000000..6b14ac8 --- /dev/null +++ b/go.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -euo pipefail # 严格模式:报错立即退出、禁止未定义变量、管道错误触发退出 + +# ================= 配置项(可根据实际情况修改)================= +# PHP 脚本路径(相对路径/绝对路径均可,推荐绝对路径更稳定) +PHP_SCRIPT="start.php" +# PHP 解释器路径(默认自动查找,若提示 php 未找到,手动指定如 /usr/bin/php) +PHP_BIN=$(which php || echo "/usr/bin/php") +# ============================================================== + +# 1. 检查 PHP 解释器是否存在且可执行 +if [ ! -x "$PHP_BIN" ]; then + echo -e "\033[31m错误:未找到可执行的 PHP 解释器!\033[0m" + echo " 解决方案:" + echo " 1. 安装 PHP:sudo apt install php-cli(Ubuntu/Debian)或 sudo dnf install php-cli(CentOS/RHEL)" + echo " 2. 若已安装,手动修改脚本中的 PHP_BIN 为实际路径(通过 which php 查询)" + exit 1 +fi + +# 2. 检查 PHP 脚本是否存在 +if [ ! -f "$PHP_SCRIPT" ]; then + echo -e "\033[31m错误:未找到脚本文件 $PHP_SCRIPT!\033[0m" + echo " 请确保脚本与 $PHP_SCRIPT 在同一目录,或修改脚本中的 PHP_SCRIPT 为绝对路径" + exit 1 +fi + +# 3. 给 PHP 脚本添加执行权限(自动修复权限问题) +if [ ! -x "$PHP_SCRIPT" ]; then + echo -e "\033[33m警告:$PHP_SCRIPT 缺少执行权限,正在自动添加...\033[0m" + chmod u+x "$PHP_SCRIPT" || { + echo -e "\033[31m错误:添加执行权限失败,请用 sudo 运行脚本!\033[0m" + exit 1 + } +fi + +# 4. 执行核心命令(带日志输出优化) +echo -e "\033[32m=== 开始执行:$PHP_BIN $PHP_SCRIPT start ===\033[0m" +$PHP_BIN "$PHP_SCRIPT" start + +# 5. 执行结果判断 +if [ $? -eq 0 ]; then + echo -e "\033[32m=== 执行成功!===\033[0m" +else + echo -e "\033[31m=== 执行失败!请查看上方错误信息 ===\033[0m" + exit 1 +fi \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b9f722e0eeed8dc7f3639bd3295a7b0376b98eca GIT binary patch literal 4286 zcmbuDc}!GC9LI-{lvLYdn`%sIykgTPHU44S)cR&9&1g0})ukRu+b zsI4iH+Tum=wxm?+g|1x7X%O&eYs0dFEXuJv?|~SRU%$V%yN_jIWzi)cX5Q?Z`F`g& z^PBfT2tWLcA20Z~I66XzQ9_8f0h+{zfZMeXzI$!B14qNqe+Ms>0t^d|k|#hpcn^q~ z;CVg3dWG2j%ifLf3af($0x zFqHZ@&|>{}K^tIw<{IEO5%LUi;PHV0JOSi}L_G^kF%-24L#d6mnNZLTT>4y=fJs32 z>T3n#v;Jb>u1$s#{kl4$sCDYsB{mVVOo|!b%Y>Or`)Ip-WMT~hhU&qo|1rvkx`)Dc z3eN*q@6-It4HR~%KIfv@I@xr$`J)wSwu_-_>;xY!T~{fgJ^dN=dHt(3eaw6QQ5(&Q zwbSe!_bDQ$p3rC#TC=DQ1t2=B$w95sS3oCG8?O+V{O^KwP2A z#JKe59cj_##AAmi*eL7j1FC3lq3dmSsf7^;4_WBvlMm=;#>pmNa_ zbN6mz6D^FlYx?YA-dafqFMD`^pBqx8l17ELWJ#L6Tv|SjloLN+GW0x%FxdnZY!{J* zO>bu3zE@n@Xrm(g1kiF6>)}|NZnR~9*Ma-cgVuwiY@)K+DvIix zgRsv#uD3~jt+NXh3XhXo&T-yFZlPoKYP(QS z*TQ4y`W)ZW)fHq&oMLL^ISVq=dQNX$&xlL$K1x# z*7(XDl{RE3ywB*nWQl#}H3ly4Cosk+Zyun@=e8?%w36eyYL}hLt={+9v0{aOIj?AY z&fVhxb&f+O2n7A&0BwGLmwI}bwM^2!bF$w)ca6_E*FOh3kc$sBYV94a`E&Ugq}JFv zUI2YO@bePdQ$U|M@LuPAo?E48`R&s6T0+lcHq#kXA^lZmqVmQj`0L|ALEl9{RJ+9? zBwEvF5AT3{ps$4w`&^&nANhHd5c>@!tuxTZHQ}@=WhEJJ-SqVEFZ8Fd2lo#&S)Z8* z_5ps5X+Ag(Ntt}s_vQln>$*J0l6s4#{qxQkI&ok-*hafkmQvcTMCbFO_kQ%<4_@^2 zzeWJ+2eNu`#%p8DK354;Lol7p6fud@%wulH<1{44HRY0Ks{v&TtXTdEpTWA|O34LUvWxqcXMUTb6W9?1XuHtqZ&nG)l^rKAmuHEs4) zB@AIt%@K#v30S=-d0QdDYxZT9iy zD*2z!VqR{nZf6e)`*;iRdk3Gh&V8v;dak0+*M06>|6-+l@VPb}Ttsel z@|n4OhceLL37RLIYdu32dP)cEJ5k+^SlHD-nud)91PZ{o+ zzq%#)Txl0+$CLm(L*M6p4y`kYcOBka9)liSH{d#+x;9dMR}dLv$B}VbAQ?vokWn}= z3x8s4pi9FKr63Hx5d?v8ATSXag$OVU;co-o_?H7Z`k|xHI-r3NX+lrJ=!7o`Ul1Dq E2mbpSrT_o{ literal 0 HcmV?d00001 diff --git a/src/store/module/websocket/websocket.ts b/src/store/module/websocket/websocket.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/cacheCleaner.ts b/src/utils/cacheCleaner.ts new file mode 100644 index 0000000..78f30c5 --- /dev/null +++ b/src/utils/cacheCleaner.ts @@ -0,0 +1,73 @@ +// 缓存清理工具,统一处理浏览器存储与 Zustand store +import { clearAllPersistedData } from "@/store"; +import { useUserStore } from "@/store/module/user"; +import { useAppStore } from "@/store/module/app"; +import { useSettingsStore } from "@/store/module/settings"; + +const isBrowser = typeof window !== "undefined"; + +const safeStorageClear = (storage?: Storage) => { + if (!storage) return; + try { + storage.clear(); + } catch (error) { + console.warn("清理存储失败:", error); + } +}; + +export const clearBrowserStorage = () => { + if (!isBrowser) return; + safeStorageClear(window.localStorage); + safeStorageClear(window.sessionStorage); + // 清理自定义持久化数据 + try { + clearAllPersistedData(); + } catch (error) { + console.warn("清理持久化 store 失败:", error); + } +}; + +export const clearAllIndexedDB = async (): Promise => { + if (!isBrowser || !window.indexedDB || !indexedDB.databases) return; + + const databases = await indexedDB.databases(); + const deleteJobs = databases + .map(db => db.name) + .filter((name): name is string => Boolean(name)) + .map( + name => + new Promise((resolve, reject) => { + const request = indexedDB.deleteDatabase(name); + request.onsuccess = () => resolve(); + request.onerror = () => + reject(new Error(`删除数据库 ${name} 失败`)); + request.onblocked = () => { + setTimeout(() => { + const retry = indexedDB.deleteDatabase(name); + retry.onsuccess = () => resolve(); + retry.onerror = () => + reject(new Error(`删除数据库 ${name} 失败`)); + }, 100); + }; + }), + ); + + await Promise.allSettled(deleteJobs); +}; + +export const resetAllStores = () => { + const userStore = useUserStore.getState(); + const appStore = useAppStore.getState(); + const settingsStore = useSettingsStore.getState(); + + userStore?.clearUser?.(); + appStore?.resetAppState?.(); + settingsStore?.resetSettings?.(); +}; + +export const clearApplicationCache = async () => { + clearBrowserStorage(); + await clearAllIndexedDB(); + resetAllStores(); +}; + diff --git a/start.php b/start.php new file mode 100644 index 0000000..41ad7ef --- /dev/null +++ b/start.php @@ -0,0 +1,5 @@ +#!/usr/bin/env php + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace support; + +/** + * Class Request + * @package support + */ +class Request extends \Webman\Http\Request +{ + +} \ No newline at end of file diff --git a/support/Response.php b/support/Response.php new file mode 100644 index 0000000..9bc4e1e --- /dev/null +++ b/support/Response.php @@ -0,0 +1,24 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +namespace support; + +/** + * Class Response + * @package support + */ +class Response extends \Webman\Http\Response +{ + +} \ No newline at end of file diff --git a/support/bootstrap.php b/support/bootstrap.php new file mode 100644 index 0000000..d913def --- /dev/null +++ b/support/bootstrap.php @@ -0,0 +1,139 @@ + + * @copyright walkor + * @link http://www.workerman.net/ + * @license http://www.opensource.org/licenses/mit-license.php MIT License + */ + +use Dotenv\Dotenv; +use support\Log; +use Webman\Bootstrap; +use Webman\Config; +use Webman\Middleware; +use Webman\Route; +use Webman\Util; +use Workerman\Events\Select; +use Workerman\Worker; + +$worker = $worker ?? null; + +if (empty(Worker::$eventLoopClass)) { + Worker::$eventLoopClass = Select::class; +} + +set_error_handler(function ($level, $message, $file = '', $line = 0) { + if (error_reporting() & $level) { + throw new ErrorException($message, 0, $level, $file, $line); + } +}); + +if ($worker) { + register_shutdown_function(function ($startTime) { + if (time() - $startTime <= 0.1) { + sleep(1); + } + }, time()); +} + +if (class_exists('Dotenv\Dotenv') && file_exists(base_path(false) . '/.env')) { + if (method_exists('Dotenv\Dotenv', 'createUnsafeMutable')) { + Dotenv::createUnsafeMutable(base_path(false))->load(); + } else { + Dotenv::createMutable(base_path(false))->load(); + } +} + +Config::clear(); +support\App::loadAllConfig(['route']); +if ($timezone = config('app.default_timezone')) { + date_default_timezone_set($timezone); +} + +foreach (config('autoload.files', []) as $file) { + include_once $file; +} +foreach (config('plugin', []) as $firm => $projects) { + foreach ($projects as $name => $project) { + if (!is_array($project)) { + continue; + } + foreach ($project['autoload']['files'] ?? [] as $file) { + include_once $file; + } + } + foreach ($projects['autoload']['files'] ?? [] as $file) { + include_once $file; + } +} + +Middleware::load(config('middleware', [])); +foreach (config('plugin', []) as $firm => $projects) { + foreach ($projects as $name => $project) { + if (!is_array($project) || $name === 'static') { + continue; + } + Middleware::load($project['middleware'] ?? []); + } + Middleware::load($projects['middleware'] ?? [], $firm); + if ($staticMiddlewares = config("plugin.$firm.static.middleware")) { + Middleware::load(['__static__' => $staticMiddlewares], $firm); + } +} +Middleware::load(['__static__' => config('static.middleware', [])]); + +foreach (config('bootstrap', []) as $className) { + if (!class_exists($className)) { + $log = "Warning: Class $className setting in config/bootstrap.php not found\r\n"; + echo $log; + Log::error($log); + continue; + } + /** @var Bootstrap $className */ + $className::start($worker); +} + +foreach (config('plugin', []) as $firm => $projects) { + foreach ($projects as $name => $project) { + if (!is_array($project)) { + continue; + } + foreach ($project['bootstrap'] ?? [] as $className) { + if (!class_exists($className)) { + $log = "Warning: Class $className setting in config/plugin/$firm/$name/bootstrap.php not found\r\n"; + echo $log; + Log::error($log); + continue; + } + /** @var Bootstrap $className */ + $className::start($worker); + } + } + foreach ($projects['bootstrap'] ?? [] as $className) { + /** @var string $className */ + if (!class_exists($className)) { + $log = "Warning: Class $className setting in plugin/$firm/config/bootstrap.php not found\r\n"; + echo $log; + Log::error($log); + continue; + } + /** @var Bootstrap $className */ + $className::start($worker); + } +} + +$directory = base_path() . '/plugin'; +$paths = [config_path()]; +foreach (Util::scanDir($directory) as $path) { + if (is_dir($path = "$path/config")) { + $paths[] = $path; + } +} +Route::load($paths); + diff --git a/weChat.ts b/weChat.ts new file mode 100644 index 0000000..b28b04f --- /dev/null +++ b/weChat.ts @@ -0,0 +1,3 @@ + + + diff --git a/windows.bat b/windows.bat new file mode 100644 index 0000000..f07ce53 --- /dev/null +++ b/windows.bat @@ -0,0 +1,3 @@ +CHCP 65001 +php windows.php +pause \ No newline at end of file diff --git a/windows.php b/windows.php new file mode 100644 index 0000000..f37a72c --- /dev/null +++ b/windows.php @@ -0,0 +1,136 @@ +load(); + } else { + Dotenv::createMutable(base_path())->load(); + } +} + +App::loadAllConfig(['route']); + +$errorReporting = config('app.error_reporting'); +if (isset($errorReporting)) { + error_reporting($errorReporting); +} + +$runtimeProcessPath = runtime_path() . DIRECTORY_SEPARATOR . '/windows'; +$paths = [ + $runtimeProcessPath, + runtime_path('logs'), + runtime_path('views') +]; +foreach ($paths as $path) { + if (!is_dir($path)) { + mkdir($path, 0777, true); + } +} + +$processFiles = []; +if (config('server.listen')) { + $processFiles[] = __DIR__ . DIRECTORY_SEPARATOR . 'start.php'; +} +foreach (config('process', []) as $processName => $config) { + $processFiles[] = write_process_file($runtimeProcessPath, $processName, ''); +} + +foreach (config('plugin', []) as $firm => $projects) { + foreach ($projects as $name => $project) { + if (!is_array($project)) { + continue; + } + foreach ($project['process'] ?? [] as $processName => $config) { + $processFiles[] = write_process_file($runtimeProcessPath, $processName, "$firm.$name"); + } + } + foreach ($projects['process'] ?? [] as $processName => $config) { + $processFiles[] = write_process_file($runtimeProcessPath, $processName, $firm); + } +} + +function write_process_file($runtimeProcessPath, $processName, $firm): string +{ + $processParam = $firm ? "plugin.$firm.$processName" : $processName; + $configParam = $firm ? "config('plugin.$firm.process')['$processName']" : "config('process')['$processName']"; + $fileContent = << true]); + if (!$resource) { + exit("Can not execute $cmd\r\n"); + } + return $resource; +} + +$resource = popen_processes($processFiles); +echo "\r\n"; +while (1) { + sleep(1); + if (!empty($monitor) && $monitor->checkAllFilesChange()) { + $status = proc_get_status($resource); + $pid = $status['pid']; + shell_exec("taskkill /F /T /PID $pid"); + proc_close($resource); + $resource = popen_processes($processFiles); + } +} diff --git a/技术方案.md b/技术方案.md new file mode 100644 index 0000000..25ea275 --- /dev/null +++ b/技术方案.md @@ -0,0 +1,348 @@ +## 用户标签引擎技术方案(以身份证为主键) + +### 一、目标与范围 +- 构建可扩展的用户标签引擎,统一以身份证为主键的人(person)进行画像与筛选。 +- 支持多数据源接入(交易、行为、社群、外呼等),并聚合多个手机号、多个微信号到同一人。 +- 提供规则驱动的人群筛选、客群快照和线索分发能力,服务销售精细化运营。 + +### 0. 需求整合清单(共识) +- 数据接入:多数据源/多数据库连接,按“数据源-表/接口”粒度定义 Job;增量水位、批量与重试。 +- 标识治理:支持弱标识(手机号等)建“临时人”,获取强标识(身份证/unionid/客户号)后合并;全链路幂等与审计。 +- 标签体系:分通道层与人层;`tag_dict` 定义口径/类型/窗口/聚合/版本;标签写入包含 window/source/version。 +- 聚合计算:通道→人层遵循 `aggregation`(sum/max/avg/any/best_of 等),支持实时触发与离线批处理。 +- 规则与人群:DSL 配置、试算/执行、审计;Redis 维护 cohort/位图,支持快照与导出。 +- 回灌与重算:规则或口径变更可对存量回评估;任务状态、错误与执行明细可观测、可重试。 +- 安全合规:身份证只存哈希(加盐),最小化数据使用,接口鉴权与导出留痕。 + +### 二、总体架构 +- 核心理念:人层(person)是唯一真相;通道层(channel)承载具体手机号/微信号等标识。 +- 组件分层: + - 数据接入层:标准化事件/明细,写入通道层标签。 + - 聚合计算层:将通道层指标按口径聚合到人层标签。 + - 规则/人群层:基于人层标签做筛选、快照、导出与分发。 + - 存储与缓存:MySQL(字典/事实/审计)+ Redis(cohort 人群集与位图)。 + +### 二点五、运行逻辑图(分层架构,数据流视角) +```mermaid +╔═════════════════════════════════════════════════════════════════════════╗ +║ 数据源层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ + │交易系统│ │APP行为│ │客服系统│ │CRM │ + └─────┘ └─────┘ └─────┘ └─────┘ + │ │ │ │ + └───────┴─────────┘ + ▼ +╔═════════════════════════════════════════════════════════════════════════╗ +║ 接入层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌───────────────────────────────────────┐ + │ Job调度器 增量水位 │ + └───────────────────────────────────────┘ + ▼ + ┌───────────────────────────────────────┐ + │ 标准化 校验 │ + └───────────────────────────────────────┘ + ▼ +╔═════════════════════════════════════════════════════════════════════════╗ +║ 身份层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌───────────────────────────────────────┐ + │ IdentifierService │ + │ 手机号→person_id │ + └───────────────────────────────────────┘ + ▼ + ┌───────────────────────────────────────┐ + │ 临时人建表 强标识合并 │ + └───────────────────────────────────────┘ + ▼ +╔═════════════════════════════════════════════════════════════════════════╗ +║ 标签层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌───────────────────────────────────────┐ + │ channel_tags │ + │ 通道标签存储 │ + └───────────────────────────────────────┘ + ▼ + ┌───────────────────────────────────────┐ + │ Aggregator │ + │ 聚合计算 │ + └───────────────────────────────────────┘ + ▼ + ┌───────────────────────────────────────┐ + │ person_tags │ + │ 人层标签存储 │ + └───────────────────────────────────────┘ + ▼ +╔═════════════════════════════════════════════════════════════════════════╗ +║ 规则层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌───────────────────────────────────────┐ + │ RuleEngine │ + │ DSL执行 │ + └───────────────────────────────────────┘ + ▼ + ┌───────────────────────────────────────┐ + │ Redis Cohort │ + │ 人群集合 │ + └───────────────────────────────────────┘ + ▼ +╔═════════════════════════════════════════════════════════════════════════╗ +║ 应用层 ║ +╚═════════════════════════════════════════════════════════════════════════╝ + ┌─────┐ ┌─────┐ ┌─────┐ + │人群查询│ │快照导出│ │分发推送│ + └─────┘ └─────┘ └─────┘ + +``` + +### 二点六、运行逻辑图(时序视角) +```mermaid +sequenceDiagram + participant 业务系统 as 业务系统
(交易/APP/客服) + participant 接入服务 as 数据接入服务 + participant 身份服务 as 身份解析服务 + participant 通道标签 as channel_tags
(存储) + participant 聚合服务 as 聚合计算服务 + participant 人层标签 as person_tags
(存储) + participant 规则引擎 as 规则引擎 + participant 人群缓存 as Redis Cohort + + 业务系统->>接入服务: 1. 推送事件/批量数据 + 接入服务->>接入服务: 2. 标准化、校验、去重 + 接入服务->>身份服务: 3. 解析标识
(手机号/微信→person_id) + 身份服务-->>接入服务: 返回person_id
(不存在则建临时人) + 接入服务->>通道标签: 4. 写入通道标签
(幂等、window/source/version) + + 通道标签->>聚合服务: 5. 触发聚合事件
(实时/批量) + 聚合服务->>人层标签: 6. 按口径聚合
(sum/max/avg/any) + + 人层标签->>规则引擎: 7. 标签变更触发
(受影响person_id) + 规则引擎->>规则引擎: 8. 执行DSL规则 + 规则引擎->>人群缓存: 9. 更新cohort
(SADD/SINTER) + + 人群缓存-->>业务系统: 10. 人群查询/导出 +``` + +### 二点七、运行逻辑图(简化版,核心路径) +```mermaid +graph TB + Start([数据源
交易/行为/客服/CRM]) --> Ingest[数据接入
Job调度 + 标准化] + Ingest --> Identity[身份解析
手机号→person_id] + Identity --> Channel[通道标签
channel_tags] + Channel --> Aggregate[聚合计算
通道→人层] + Aggregate --> Person[人层标签
person_tags] + Person --> Rule[规则引擎
DSL筛选] + Rule --> Cohort[人群集合
Redis Cohort] + Cohort --> Export([应用输出
查询/快照/分发]) + + Ingest -.->|状态| Audit1[(ingest_state)] + Ingest -.->|错误| Audit2[(ingest_errors)] + Rule -.->|执行记录| Audit3[(rule_executions)] + + style Start fill:#e1f5ff + style Export fill:#e1f5ff + style Ingest fill:#fff4e1 + style Identity fill:#e8f5e9 + style Channel fill:#f3e5f5 + style Aggregate fill:#f3e5f5 + style Person fill:#f3e5f5 + style Rule fill:#fff9c4 + style Cohort fill:#fff9c4 +``` + +### 三、数据模型 +```sql +-- 人:身份证(脱敏哈希)为主键 +CREATE TABLE person ( + person_id CHAR(32) PRIMARY KEY, -- md5(uppercase(id_card_no_without_spaces)) + id_card_hash CHAR(32) UNIQUE, + name VARCHAR(64) NULL, + gender TINYINT NULL, + birthday DATE NULL, + created_at DATETIME, + updated_at DATETIME +); + +-- 标识绑定:一个人可有多个手机号/微信/外部ID +CREATE TABLE person_identifier ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + person_id CHAR(32), + id_type ENUM('phone','wechat','external','email') NOT NULL, + id_value VARCHAR(128) NOT NULL, + is_primary TINYINT DEFAULT 0, + verified TINYINT DEFAULT 0, + created_at DATETIME, + updated_at DATETIME, + UNIQUE KEY uk_type_value (id_type, id_value), + KEY idx_person (person_id) +); + +-- 标签字典 +CREATE TABLE tag_dict ( + tag_code VARCHAR(128) PRIMARY KEY, -- 例:person.trade.arpu_90d + name VARCHAR(128), + category VARCHAR(64), + level ENUM('person','channel') NOT NULL, + type ENUM('int','bool','enum','set','string','float') NOT NULL, + enum_values JSON NULL, + unit VARCHAR(16) NULL, + aggregation ENUM('sum','max','min','avg','any','best_of') NULL, -- 通道→人层口径 + description TEXT, + version INT DEFAULT 1, + status ENUM('draft','active','deprecated') DEFAULT 'active', + owner VARCHAR(64), + created_at DATETIME, + updated_at DATETIME +); + +-- 人层标签(销售筛选用) +CREATE TABLE person_tags ( + person_id CHAR(32), + tag_code VARCHAR(128), + tag_value VARCHAR(256), + confidence TINYINT DEFAULT 100, + source VARCHAR(64), + window VARCHAR(32), + version INT, + updated_at DATETIME, + PRIMARY KEY (person_id, tag_code), + KEY idx_tag (tag_code, tag_value) +); + +-- 通道层标签(手机号/微信号维度) +CREATE TABLE channel_tags ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + id_type ENUM('phone','wechat','external') NOT NULL, + id_value VARCHAR(128) NOT NULL, + tag_code VARCHAR(128), + tag_value VARCHAR(256), + source VARCHAR(64), + window VARCHAR(32), + updated_at DATETIME, + UNIQUE KEY uk_dim (id_type, id_value, tag_code), + KEY idx_tag (tag_code, tag_value) +); + +-- 规则配置与执行审计 +CREATE TABLE tag_rules ( + rule_id BIGINT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(128), + dsl JSON, + status ENUM('draft','active','paused') DEFAULT 'active', + schedule VARCHAR(64) NULL, + output_tag VARCHAR(128) NULL, + owner VARCHAR(64), + created_at DATETIME, + updated_at DATETIME +); + +CREATE TABLE rule_executions ( + exec_id BIGINT PRIMARY KEY AUTO_INCREMENT, + rule_id BIGINT, + started_at DATETIME, + finished_at DATETIME, + affected_users INT, + status ENUM('success','failed','partial'), + message TEXT +); +``` + +### 四、标签规范 +- 分类: + - 基础画像、行为活跃、交易能力、风险合规、社交关系、生命周期、设备画像、地域属性。 +- 命名:`{level}.{category}.{name}_{window}` + - 人层:`person.trade.arpu_90d`,`person.behavior.active_days_30d` + - 通道层:`channel.wechat.group_join_30d`,`channel.phone.outbound_connect_7d` +- 口径:在 `tag_dict` 中声明 `type/enum/range/aggregation/window/update_freq/version`。 +- 聚合: + - 风险类:any(任一通道命中→人层命中)。 + - 活跃/价值:max/sum/avg 视业务定义。 + - 可达性:best_of(如选近30日响应率最高的手机号)。 + +### 五、规则与人群(DSL) +```json +{ + "name": "高潜付费人群", + "logic": "AND", + "conditions": [ + {"tag": "person.trade.arpu_90d", "op": "gte", "value": 500}, + {"tag": "person.behavior.active_days_30d", "op": "gte", "value": 10}, + {"tag": "person.risk.blacklist", "op": "eq", "value": false} + ], + "window": "rolling_90d", + "ttl": "24h" +} +``` + +### 六、计算与刷新策略 +- 批处理(T+1/T+0小时):生成稳定画像(交易统计、生命周期等)。 +- 准实时(秒级/分级):事件驱动更新通道层标签,触发对应人层增量聚合。 +- 回评估:字典/规则变更后对存量人群重算,并写入审计。 + +### 七、系统设计(ThinkPHP 5.1) +- 目录结构(`application/tag`): + - controller:`TagDictController`、`RuleController`、`SegmentController`、`IdentifierController` + - model:`TagDict`、`Person`、`PersonIdentifier`、`PersonTags`、`ChannelTags`、`TagRules`、`RuleExecutions` + - service: + - `IdentifierService`(标识绑定/查找/合并) + - `ChannelTagService`(通道标签写入) + - `PersonTagService`(人层聚合/重算) + - `TagQueryService`(条件解析→Redis/DB组合查询) + - `RuleEngineService`(DSL 校验/执行/审计) + - `CohortCacheService`(cohort 维护、集合/位图运算) + - command:`ExecuteRule`、`RecomputeTags`、`CohortSnapshot` + +- 路由(建议,受 `jwt` 保护): +```php +Route::group('v1/tag', function () { + Route::get('dict', 'app\\tag\\controller\\TagDictController@index'); + Route::post('dict', 'app\\tag\\controller\\TagDictController@create'); + Route::post('identifier/bind', 'app\\tag\\controller\\IdentifierController@bind'); + Route::post('rule/execute/:id', 'app\\tag\\controller\\RuleController@execute'); + Route::post('segment/query', 'app\\tag\\controller\\SegmentController@query'); + Route::post('segment/snapshot', 'app\\tag\\controller\\SegmentController@snapshot'); +})->middleware(['jwt']); +``` + +### 八、查询与筛选 +- 人层为主:`person_tags` 组合条件查询,Redis 保存常用 cohort: + - Redis 示例:`SINTER cohort:person.trade.arpu_90d:gt500 cohort:person.active_days_30d:gte10 SDIFF cohort:person.risk.blacklist:eq1` +- MySQL 组合查询示例: +```sql +SELECT DISTINCT t1.person_id +FROM person_tags t1 +JOIN person_tags t2 ON t2.person_id=t1.person_id +LEFT JOIN person_tags t3 ON t3.person_id=t1.person_id AND t3.tag_code='person.risk.blacklist' +WHERE t1.tag_code='person.trade.arpu_90d' AND CAST(t1.tag_value AS DECIMAL)>=500 + AND t2.tag_code='person.behavior.active_days_30d' AND CAST(t2.tag_value AS SIGNED)>=10 + AND (t3.tag_value IS NULL OR t3.tag_value='0') +LIMIT 50 OFFSET 0; +``` + +### 九、关键流程 +1) 事件接入:收到 `id_type + id_value`(如手机号)→ 查 `person_identifier` → 得到 `person_id`。 +2) 通道标签更新:写 `channel_tags`,并发布“聚合任务”。 +3) 人层聚合:按 `tag_dict.aggregation` 规则,更新 `person_tags`。 +4) 规则评估:对受影响的 `person_id` 运行启用中的规则,更新 cohort/输出标签。 +5) 人群产出:支持分页查询、生成快照、导出或推送 CRM/外呼系统。 + +### 十、缓存与索引 +- Redis: + - 集合/位图存 cohort,Key 规范:`cohort:{tag_code}:{op}{value}` 或区间桶。 + - TTL:默认 24h,可按规则 `ttl` 覆盖。 +- MySQL: + - `person_tags(tag_code, tag_value)`、`channel_tags(tag_code, tag_value)` 倒排索引。 + - 审计表按时间分区或冷热分离。 + +### 十一、合规与安全 +- 身份证只存哈希(不可逆),不落明文;导出脱敏。 +- 最小权限访问,接口留痕审计(规则执行、导出、查看)。 +- 口径透明:标签保留来源、窗口、置信度、版本。 + +### 十二、里程碑(落地计划) +- M1:建表与服务骨架;接入交易/行为两类数据;产出10个核心标签。 +- M2:规则试算与快照;Redis cohort;首批销售客群模板(高价值流失预警)。 +- M3:通道“最佳触达”策略;CRM/外呼对接;质量监控与看板。 + + diff --git a/数据库/KR.js b/数据库/KR.js new file mode 100644 index 0000000..00dabaf --- /dev/null +++ b/数据库/KR.js @@ -0,0 +1,374 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:11 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 厦门京东内 +// ---------------------------- +db.getCollection("厦门京东内").drop(); +db.createCollection("厦门京东内"); + +// ---------------------------- +// Collection structure for 厦门用户资产2025年9月 +// ---------------------------- +db.getCollection("厦门用户资产2025年9月").drop(); +db.createCollection("厦门用户资产2025年9月"); + +// ---------------------------- +// Collection structure for 厦门用户资产2025年9月_优化版 +// ---------------------------- +db.getCollection("厦门用户资产2025年9月_优化版").drop(); +db.createCollection("厦门用户资产2025年9月_优化版"); +db.getCollection("厦门用户资产2025年9月_优化版").createIndex({ + user_level: NumberInt("1") +}, { + name: "user_level_1" +}); +db.getCollection("厦门用户资产2025年9月_优化版").createIndex({ + total_score: NumberInt("-1") +}, { + name: "total_score_-1" +}); +db.getCollection("厦门用户资产2025年9月_优化版").createIndex({ + mobile: NumberInt("1") +}, { + name: "mobile_1" +}); +db.getCollection("厦门用户资产2025年9月_优化版").createIndex({ + city: NumberInt("1") +}, { + name: "city_1" +}); +db.getCollection("厦门用户资产2025年9月_优化版").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); + +// ---------------------------- +// Collection structure for 游戏_深度用户有过语音聊天、魔兽等 +// ---------------------------- +db.getCollection("游戏_深度用户有过语音聊天、魔兽等").drop(); +db.createCollection("游戏_深度用户有过语音聊天、魔兽等"); +db.getCollection("游戏_深度用户有过语音聊天、魔兽等").createIndex({ + user_id: NumberInt("1") +}, { + name: "user_id_1" +}); +db.getCollection("游戏_深度用户有过语音聊天、魔兽等").createIndex({ + user_value: NumberInt("1") +}, { + name: "user_value_1" +}); +db.getCollection("游戏_深度用户有过语音聊天、魔兽等").createIndex({ + overlap_count: NumberInt("1") +}, { + name: "overlap_count_1" +}); + +// ---------------------------- +// Collection structure for 用户估值 +// ---------------------------- +db.getCollection("用户估值").drop(); +db.createCollection("用户估值"); +db.getCollection("用户估值").createIndex({ + user_key: NumberInt("1") +}, { + name: "user_key_1", + unique: true +}); +db.getCollection("用户估值").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("用户估值").createIndex({ + phone_masked: NumberInt("1") +}, { + name: "phone_masked_1" +}); +db.getCollection("用户估值").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("用户估值").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("用户估值").createIndex({ + province: NumberInt("1"), + city: NumberInt("1") +}, { + name: "province_1_city_1" +}); +db.getCollection("用户估值").createIndex({ + computed_at: NumberInt("-1") +}, { + name: "computed_at_-1" +}); +db.getCollection("用户估值").createIndex({ + source_channels: NumberInt("1") +}, { + name: "source_channels_1" +}); +db.getCollection("用户估值").createIndex({ + "data_quality.completeness": NumberInt("-1") +}, { + name: "data_quality.completeness_-1" +}); +db.getCollection("用户估值").createIndex({ + user_evaluation_score: NumberInt("-1") +}, { + name: "user_evaluation_score_-1" +}); + +// ---------------------------- +// Collection structure for 用户资产整合 +// ---------------------------- +db.getCollection("用户资产整合").drop(); +db.createCollection("用户资产整合"); +db.getCollection("用户资产整合").createIndex({ + user_key: NumberInt("1") +}, { + name: "idx_user_key" +}); +db.getCollection("用户资产整合").createIndex({ + phone: NumberInt("1") +}, { + name: "idx_phone" +}); +db.getCollection("用户资产整合").createIndex({ + consumption_level: NumberInt("1") +}, { + name: "idx_consumption_level" +}); +db.getCollection("用户资产整合").createIndex({ + consumption_score: NumberInt("-1") +}, { + name: "idx_consumption_score_desc" +}); +db.getCollection("用户资产整合").createIndex({ + city: NumberInt("1") +}, { + name: "idx_city" +}); +db.getCollection("用户资产整合").createIndex({ + age_range: NumberInt("1") +}, { + name: "idx_age_range" +}); +db.getCollection("用户资产整合").createIndex({ + user_evaluation_score: NumberInt("-1") +}, { + name: "idx_user_evaluation_score_desc" +}); +db.getCollection("用户资产整合").createIndex({ + consumption_level: NumberInt("1"), + consumption_score: NumberInt("-1") +}, { + name: "idx_level_score" +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_A级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_A级用户").drop(); +db.createCollection("金融客户_厦门_A级用户"); +db.getCollection("金融客户_厦门_A级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_A级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_A级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_B级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_B级用户").drop(); +db.createCollection("金融客户_厦门_B级用户"); +db.getCollection("金融客户_厦门_B级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_B级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_B级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_C级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_C级用户").drop(); +db.createCollection("金融客户_厦门_C级用户"); +db.getCollection("金融客户_厦门_C级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_C级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_C级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_D级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_D级用户").drop(); +db.createCollection("金融客户_厦门_D级用户"); +db.getCollection("金融客户_厦门_D级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_D级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_D级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_E级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_E级用户").drop(); +db.createCollection("金融客户_厦门_E级用户"); +db.getCollection("金融客户_厦门_E级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_E级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_E级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融客户_厦门_S级用户 +// ---------------------------- +db.getCollection("金融客户_厦门_S级用户").drop(); +db.createCollection("金融客户_厦门_S级用户"); +db.getCollection("金融客户_厦门_S级用户").createIndex({ + total_score: NumberInt("1") +}, { + name: "total_score_1", + background: true +}); +db.getCollection("金融客户_厦门_S级用户").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1", + background: true +}); +db.getCollection("金融客户_厦门_S级用户").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1", + background: true +}); + +// ---------------------------- +// Collection structure for 金融组02250905 +// ---------------------------- +db.getCollection("金融组02250905").drop(); +db.createCollection("金融组02250905"); +db.getCollection("金融组02250905").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1" +}); +db.getCollection("金融组02250905").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1" +}); +db.getCollection("金融组02250905").createIndex({ + "身份证": NumberInt("1") +}, { + name: "身份证_1" +}); +db.getCollection("金融组02250905").createIndex({ + "综合评分": NumberInt("-1") +}, { + name: "综合评分_-1" +}); +db.getCollection("金融组02250905").createIndex({ + "用户等级": NumberInt("1") +}, { + name: "用户等级_1" +}); +db.getCollection("金融组02250905").createIndex({ + "城市": NumberInt("1") +}, { + name: "城市_1" +}); diff --git a/数据库/KR_KR.js b/数据库/KR_KR.js new file mode 100644 index 0000000..9120b59 --- /dev/null +++ b/数据库/KR_KR.js @@ -0,0 +1,509 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_KR + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:19 +*/ + + +// ---------------------------- +// Collection structure for 34万HR人力资源经理企业1 +// ---------------------------- +db.getCollection("34万HR人力资源经理企业1").drop(); +db.createCollection("34万HR人力资源经理企业1"); +db.getCollection("34万HR人力资源经理企业1").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("34万HR人力资源经理企业1").createIndex({ + "电话": NumberInt("1") +}, { + name: "电话_1" +}); + +// ---------------------------- +// Collection structure for 34万HR人力资源经理企业3 +// ---------------------------- +db.getCollection("34万HR人力资源经理企业3").drop(); +db.createCollection("34万HR人力资源经理企业3"); +db.getCollection("34万HR人力资源经理企业3").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 34万HR人力资源经理企业4 +// ---------------------------- +db.getCollection("34万HR人力资源经理企业4").drop(); +db.createCollection("34万HR人力资源经理企业4"); +db.getCollection("34万HR人力资源经理企业4").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 34万HR人力资源经理企业5 +// ---------------------------- +db.getCollection("34万HR人力资源经理企业5").drop(); +db.createCollection("34万HR人力资源经理企业5"); +db.getCollection("34万HR人力资源经理企业5").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 51JOB +// ---------------------------- +db.getCollection("51JOB").drop(); +db.createCollection("51JOB"); + +// ---------------------------- +// Collection structure for 8万条借款数据 +// ---------------------------- +db.getCollection("8万条借款数据").drop(); +db.createCollection("8万条借款数据"); +db.getCollection("8万条借款数据").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for CSDN用户数据 +// ---------------------------- +db.getCollection("CSDN用户数据").drop(); +db.createCollection("CSDN用户数据"); +db.getCollection("CSDN用户数据").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("CSDN用户数据").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("CSDN用户数据").createIndex({ + domain: NumberInt("1") +}, { + name: "domain_1" +}); +db.getCollection("CSDN用户数据").createIndex({ + created_at: NumberInt("-1") +}, { + name: "created_at_-1" +}); +db.getCollection("CSDN用户数据").createIndex({ + data_source: NumberInt("1") +}, { + name: "data_source_1" +}); +db.getCollection("CSDN用户数据").createIndex({ + username: NumberInt("1"), + email: NumberInt("1") +}, { + name: "username_1_email_1", + unique: true +}); + +// ---------------------------- +// Collection structure for Sheet2 +// ---------------------------- +db.getCollection("Sheet2").drop(); +db.createCollection("Sheet2"); +db.getCollection("Sheet2").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for pw_members +// ---------------------------- +db.getCollection("pw_members").drop(); +db.createCollection("pw_members"); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for www.jfclub.com +// ---------------------------- +db.getCollection("www.jfclub.com").drop(); +db.createCollection("www.jfclub.com"); +db.getCollection("www.jfclub.com").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + u_id: NumberInt("1") +}, { + name: "u_id_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + email: NumberInt("1"), + name: NumberInt("1") +}, { + name: "email_1_name_1" +}); +db.getCollection("www.jfclub.com").createIndex({ + phone: NumberInt("1"), + name: NumberInt("1") +}, { + name: "phone_1_name_1" +}); + +// ---------------------------- +// Collection structure for 人人网用户数据 +// ---------------------------- +db.getCollection("人人网用户数据").drop(); +db.createCollection("人人网用户数据"); + +// ---------------------------- +// Collection structure for 借贷 +// ---------------------------- +db.getCollection("借贷").drop(); +db.createCollection("借贷"); + +// ---------------------------- +// Collection structure for 全国车主数据集_2020年 +// ---------------------------- +db.getCollection("全国车主数据集_2020年").drop(); +db.createCollection("全国车主数据集_2020年"); + +// ---------------------------- +// Collection structure for 北京本科 +// ---------------------------- +db.getCollection("北京本科").drop(); +db.createCollection("北京本科"); +db.getCollection("北京本科").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 千脑云电脑_qiannao_com +// ---------------------------- +db.getCollection("千脑云电脑_qiannao_com").drop(); +db.createCollection("千脑云电脑_qiannao_com"); +db.getCollection("千脑云电脑_qiannao_com").createIndex({ + "用户名": NumberInt("1") +}, { + name: "用户名_1" +}); +db.getCollection("千脑云电脑_qiannao_com").createIndex({ + "邮箱": NumberInt("1") +}, { + name: "邮箱_1" +}); +db.getCollection("千脑云电脑_qiannao_com").createIndex({ + "用户ID": NumberInt("1") +}, { + name: "用户ID_1" +}); +db.getCollection("千脑云电脑_qiannao_com").createIndex({ + "创建时间": NumberInt("1") +}, { + name: "创建时间_1" +}); + +// ---------------------------- +// Collection structure for 天涯论坛tianya.cn +// ---------------------------- +db.getCollection("天涯论坛tianya.cn").drop(); +db.createCollection("天涯论坛tianya.cn"); + +// ---------------------------- +// Collection structure for 情感 +// ---------------------------- +db.getCollection("情感").drop(); +db.createCollection("情感"); +db.getCollection("情感").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("情感").createIndex({ + "手机": NumberInt("1") +}, { + name: "手机_1" +}); + +// ---------------------------- +// Collection structure for 慈溪人才网 +// ---------------------------- +db.getCollection("慈溪人才网").drop(); +db.createCollection("慈溪人才网"); + +// ---------------------------- +// Collection structure for 房产网 +// ---------------------------- +db.getCollection("房产网").drop(); +db.createCollection("房产网"); +db.getCollection("房产网").createIndex({ + uid: NumberInt("1") +}, { + name: "uid_1", + unique: true +}); +db.getCollection("房产网").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("房产网").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("房产网").createIndex({ + regdate: NumberInt("1") +}, { + name: "regdate_1" +}); + +// ---------------------------- +// Collection structure for 抖音直播粉 +// ---------------------------- +db.getCollection("抖音直播粉").drop(); +db.createCollection("抖音直播粉"); +db.getCollection("抖音直播粉").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("抖音直播粉").createIndex({ + Uid: NumberInt("1") +}, { + name: "Uid_1" +}); +db.getCollection("抖音直播粉").createIndex({ + sec_uid: NumberInt("1") +}, { + name: "sec_uid_1" +}); + +// ---------------------------- +// Collection structure for 收藏品微信好友 +// ---------------------------- +db.getCollection("收藏品微信好友").drop(); +db.createCollection("收藏品微信好友"); +db.getCollection("收藏品微信好友").createIndex({ + WechatId: NumberInt("1") +}, { + name: "IX_Kefure_WechatFriend_WechatId" +}); +db.getCollection("收藏品微信好友").createIndex({ + OwnerWechatId: NumberInt("1") +}, { + name: "IX_Kefure_WechatFriend_OwnerWechatId" +}); +db.getCollection("收藏品微信好友").createIndex({ + Phone: NumberInt("1") +}, { + name: "Phone_1" +}); + +// ---------------------------- +// Collection structure for 收藏品用户 +// ---------------------------- +db.getCollection("收藏品用户").drop(); +db.createCollection("收藏品用户"); +db.getCollection("收藏品用户").createIndex({ + Id: NumberInt("1") +}, { + name: "Id_1" +}); +db.getCollection("收藏品用户").createIndex({ + WechatAccountId: NumberInt("1") +}, { + name: "WechatAccountId_1" +}); +db.getCollection("收藏品用户").createIndex({ + WechatId: NumberInt("1") +}, { + name: "WechatId_1" +}); +db.getCollection("收藏品用户").createIndex({ + AccountId: NumberInt("1") +}, { + name: "AccountId_1" +}); +db.getCollection("收藏品用户").createIndex({ + OwnerWechatId: NumberInt("1") +}, { + name: "OwnerWechatId_1" +}); +db.getCollection("收藏品用户").createIndex({ + GroupId: NumberInt("1") +}, { + name: "GroupId_1" +}); +db.getCollection("收藏品用户").createIndex({ + Nickname: NumberInt("1") +}, { + name: "Nickname_1" +}); +db.getCollection("收藏品用户").createIndex({ + AccountNickname: NumberInt("1") +}, { + name: "AccountNickname_1" +}); +db.getCollection("收藏品用户").createIndex({ + OwnerNickname: NumberInt("1") +}, { + name: "OwnerNickname_1" +}); + +// ---------------------------- +// Collection structure for 木蚂蚁munayi_com +// ---------------------------- +db.getCollection("木蚂蚁munayi_com").drop(); +db.createCollection("木蚂蚁munayi_com"); +db.getCollection("木蚂蚁munayi_com").createIndex({ + username: NumberInt("1") +}, { + name: "username_1", + unique: true, + sparse: true +}); +db.getCollection("木蚂蚁munayi_com").createIndex({ + email: NumberInt("1") +}, { + name: "email_1", + sparse: true +}); +db.getCollection("木蚂蚁munayi_com").createIndex({ + uid: NumberInt("1") +}, { + name: "uid_1", + sparse: true +}); +db.getCollection("木蚂蚁munayi_com").createIndex({ + data_hash: NumberInt("1") +}, { + name: "data_hash_1", + unique: true, + sparse: true +}); + +// ---------------------------- +// Collection structure for 狂人影子库user +// ---------------------------- +db.getCollection("狂人影子库user").drop(); +db.createCollection("狂人影子库user"); + +// ---------------------------- +// Collection structure for 珍爱网 +// ---------------------------- +db.getCollection("珍爱网").drop(); +db.createCollection("珍爱网"); +db.getCollection("珍爱网").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 用户身份凭证数据集 +// ---------------------------- +db.getCollection("用户身份凭证数据集").drop(); +db.createCollection("用户身份凭证数据集"); + +// ---------------------------- +// Collection structure for 网红库 +// ---------------------------- +db.getCollection("网红库").drop(); +db.createCollection("网红库"); +db.getCollection("网红库").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("网红库").createIndex({ + sec_uid: NumberInt("1") +}, { + name: "sec_uid_1" +}); +db.getCollection("网红库").createIndex({ + idcard: NumberInt("1") +}, { + name: "idcard_1" +}); +db.getCollection("网红库").createIndex({ + collectId: NumberInt("1") +}, { + name: "collectId_1" +}); +db.getCollection("网红库").createIndex({ + cateId: NumberInt("1") +}, { + name: "cateId_1" +}); +db.getCollection("网红库").createIndex({ + authorId: NumberInt("1") +}, { + name: "authorId_1" +}); +db.getCollection("网红库").createIndex({ + uniqueId: NumberInt("1") +}, { + name: "uniqueId_1" +}); +db.getCollection("网红库").createIndex({ + phoneNumber: NumberInt("1") +}, { + name: "phoneNumber_1" +}); +db.getCollection("网红库").createIndex({ + nickname: NumberInt("1") +}, { + name: "nickname_1" +}); +db.getCollection("网红库").createIndex({ + updatedAt: NumberInt("1") +}, { + name: "updatedAt_1" +}); + +// ---------------------------- +// Collection structure for 雅虎用户 +// ---------------------------- +db.getCollection("雅虎用户").drop(); +db.createCollection("雅虎用户"); diff --git a/数据库/KR_Linkedln.js b/数据库/KR_Linkedln.js new file mode 100644 index 0000000..dc2b230 --- /dev/null +++ b/数据库/KR_Linkedln.js @@ -0,0 +1,31 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_Linkedln + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:28 +*/ + + +// ---------------------------- +// Collection structure for linkedin +// ---------------------------- +db.getCollection("linkedin").drop(); +db.createCollection("linkedin"); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); diff --git a/数据库/KR_京东.js b/数据库/KR_京东.js new file mode 100644 index 0000000..9d76835 --- /dev/null +++ b/数据库/KR_京东.js @@ -0,0 +1,31 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_京东 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:11 +*/ + + +// ---------------------------- +// Collection structure for jd_com +// ---------------------------- +db.getCollection("jd_com").drop(); +db.createCollection("jd_com"); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); diff --git a/数据库/KR_人才库.js b/数据库/KR_人才库.js new file mode 100644 index 0000000..aba5587 --- /dev/null +++ b/数据库/KR_人才库.js @@ -0,0 +1,37 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_人才库 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:59 +*/ + + +// ---------------------------- +// Collection structure for 51JOB +// ---------------------------- +db.getCollection("51JOB").drop(); +db.createCollection("51JOB"); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 慈溪人才网 +// ---------------------------- +db.getCollection("慈溪人才网").drop(); +db.createCollection("慈溪人才网"); diff --git a/数据库/KR_企业.js b/数据库/KR_企业.js new file mode 100644 index 0000000..f58889d --- /dev/null +++ b/数据库/KR_企业.js @@ -0,0 +1,142 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_企业 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:44 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 企业400号段数据 +// ---------------------------- +db.getCollection("企业400号段数据").drop(); +db.createCollection("企业400号段数据"); +db.getCollection("企业400号段数据").createIndex({ + ID: NumberInt("1") +}, { + name: "ID_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "企业名称": NumberInt("1") +}, { + name: "企业名称_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "400号码": NumberInt("1") +}, { + name: "400号码_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "联系人": NumberInt("1") +}, { + name: "联系人_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "手机号码": NumberInt("1") +}, { + name: "手机号码_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "表名": NumberInt("1") +}, { + name: "表名_1" +}); +db.getCollection("企业400号段数据").createIndex({ + "导入时间": NumberInt("-1") +}, { + name: "导入时间_-1" +}); +db.getCollection("企业400号段数据").createIndex({ + nid: NumberInt("1") +}, { + name: "nid_1" +}); +db.getCollection("企业400号段数据").createIndex({ + EnterpriseName: NumberInt("1") +}, { + name: "EnterpriseName_1" +}); +db.getCollection("企业400号段数据").createIndex({ + Number400: NumberInt("1") +}, { + name: "Number400_1" +}); +db.getCollection("企业400号段数据").createIndex({ + LinkMan: NumberInt("1") +}, { + name: "LinkMan_1" +}); +db.getCollection("企业400号段数据").createIndex({ + Mobile: NumberInt("1") +}, { + name: "Mobile_1" +}); + +// ---------------------------- +// Collection structure for 统一用户资产表 +// ---------------------------- +db.getCollection("统一用户资产表").drop(); +db.createCollection("统一用户资产表"); +db.getCollection("统一用户资产表").createIndex({ + "用户唯一ID": NumberInt("1") +}, { + name: "用户唯一ID_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "基础信息.手机号": NumberInt("1") +}, { + name: "基础信息.手机号_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "基础信息.邮箱": NumberInt("1") +}, { + name: "基础信息.邮箱_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "企业信息.企业ID": NumberInt("1") +}, { + name: "企业信息.企业ID_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "企业信息.400号码": NumberInt("1") +}, { + name: "企业信息.400号码_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "资产概览.总资产价值": NumberInt("-1") +}, { + name: "资产概览.总资产价值_-1" +}); +db.getCollection("统一用户资产表").createIndex({ + "资产概览.资产等级": NumberInt("1") +}, { + name: "资产概览.资产等级_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "用户类型": NumberInt("1") +}, { + name: "用户类型_1" +}); +db.getCollection("统一用户资产表").createIndex({ + "创建时间": NumberInt("-1") +}, { + name: "创建时间_-1" +}); diff --git a/数据库/KR_企业名录.js b/数据库/KR_企业名录.js new file mode 100644 index 0000000..d5fe4d0 --- /dev/null +++ b/数据库/KR_企业名录.js @@ -0,0 +1,115 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_企业名录 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:51 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 中国医院名录_copy1 +// ---------------------------- +db.getCollection("中国医院名录_copy1").drop(); +db.createCollection("中国医院名录_copy1"); + +// ---------------------------- +// Collection structure for 企业及个体工商目录 +// ---------------------------- +db.getCollection("企业及个体工商目录").drop(); +db.createCollection("企业及个体工商目录"); + +// ---------------------------- +// Collection structure for 企业名录 +// ---------------------------- +db.getCollection("企业名录").drop(); +db.createCollection("企业名录"); + +// ---------------------------- +// Collection structure for 四川企业老板 +// ---------------------------- +db.getCollection("四川企业老板").drop(); +db.createCollection("四川企业老板"); + +// ---------------------------- +// Collection structure for 广东工商企业库1 +// ---------------------------- +db.getCollection("广东工商企业库1").drop(); +db.createCollection("广东工商企业库1"); + +// ---------------------------- +// Collection structure for 广东工商企业库2 +// ---------------------------- +db.getCollection("广东工商企业库2").drop(); +db.createCollection("广东工商企业库2"); + +// ---------------------------- +// Collection structure for 广东工商企业库3 +// ---------------------------- +db.getCollection("广东工商企业库3").drop(); +db.createCollection("广东工商企业库3"); + +// ---------------------------- +// Collection structure for 广东工商企业库4 +// ---------------------------- +db.getCollection("广东工商企业库4").drop(); +db.createCollection("广东工商企业库4"); + +// ---------------------------- +// Collection structure for 广东工商企业库5 +// ---------------------------- +db.getCollection("广东工商企业库5").drop(); +db.createCollection("广东工商企业库5"); + +// ---------------------------- +// Collection structure for 广东工商企业库6 +// ---------------------------- +db.getCollection("广东工商企业库6").drop(); +db.createCollection("广东工商企业库6"); + +// ---------------------------- +// Collection structure for 广东工商企业库7 +// ---------------------------- +db.getCollection("广东工商企业库7").drop(); +db.createCollection("广东工商企业库7"); + +// ---------------------------- +// Collection structure for 行政区划代码 +// ---------------------------- +db.getCollection("行政区划代码").drop(); +db.createCollection("行政区划代码"); + +// ---------------------------- +// Collection structure for 表1 +// ---------------------------- +db.getCollection("表1").drop(); +db.createCollection("表1"); + +// ---------------------------- +// Collection structure for 表2 +// ---------------------------- +db.getCollection("表2").drop(); +db.createCollection("表2"); + +// ---------------------------- +// Collection structure for 销售额3000万元-5000万元企业名录 +// ---------------------------- +db.getCollection("销售额3000万元-5000万元企业名录").drop(); +db.createCollection("销售额3000万元-5000万元企业名录"); diff --git a/数据库/KR_卡若私域.js b/数据库/KR_卡若私域.js new file mode 100644 index 0000000..b942a61 --- /dev/null +++ b/数据库/KR_卡若私域.js @@ -0,0 +1,228 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_卡若私域 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:24 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 存客宝流量池分类 +// ---------------------------- +db.getCollection("存客宝流量池分类").drop(); +db.createCollection("存客宝流量池分类"); +db.getCollection("存客宝流量池分类").createIndex({ + province: NumberInt("1"), + wechat: NumberInt("1"), + phoneNumber: NumberInt("1"), + createdAt: NumberInt("1") +}, { + name: "user_province_wechat_phone_number_created_at" +}); +db.getCollection("存客宝流量池分类").createIndex({ + province: NumberInt("1"), + wechat: NumberInt("1"), + phoneNumber: NumberInt("1"), + wechatIsOpen: NumberInt("1"), + createdAt: NumberInt("1") +}, { + name: "user_province_wechat_phone_number_wechat_is_open_created_at" +}); + +// ---------------------------- +// Collection structure for 存客宝流量池分类2 +// ---------------------------- +db.getCollection("存客宝流量池分类2").drop(); +db.createCollection("存客宝流量池分类2"); +db.getCollection("存客宝流量池分类2").createIndex({ + source: NumberInt("1"), + wechat: NumberInt("1") +}, { + name: "user_source_wechat", + unique: true +}); +db.getCollection("存客宝流量池分类2").createIndex({ + source: NumberInt("1"), + phoneNumber: NumberInt("1") +}, { + name: "user_source_phone_number", + unique: true +}); +db.getCollection("存客宝流量池分类2").createIndex({ + province: NumberInt("1") +}, { + name: "user_province" +}); +db.getCollection("存客宝流量池分类2").createIndex({ + wechat: NumberInt("1") +}, { + name: "user_wechat" +}); +db.getCollection("存客宝流量池分类2").createIndex({ + phoneNumber: NumberInt("1") +}, { + name: "user_phone_number" +}); +db.getCollection("存客宝流量池分类2").createIndex({ + wechatIsOpen: NumberInt("1") +}, { + name: "user_wechat_is_open" +}); +db.getCollection("存客宝流量池分类2").createIndex({ + createdAt: NumberInt("1") +}, { + name: "user_created_at" +}); +db.getCollection("存客宝流量池分类2").createIndex({ + jdIsOpen: NumberInt("1") +}, { + name: "user_jd_is_open" +}); + +// ---------------------------- +// Collection structure for 存客宝采集网红 +// ---------------------------- +db.getCollection("存客宝采集网红").drop(); +db.createCollection("存客宝采集网红"); +db.getCollection("存客宝采集网红").createIndex({ + OwnerWechatId: NumberInt("1"), + Phone: NumberInt("1"), + Alias: NumberInt("1") +}, { + name: "IX_Kefure_WechatFriend_OwnerWechatId" +}); +db.getCollection("存客宝采集网红").createIndex({ + WechatId: NumberInt("1"), + IsSend: NumberInt("1"), + IsDeleted: NumberInt("1"), + Gender: NumberInt("1"), + Nickname: NumberInt("1") +}, { + name: "IX_Kefure_WechatFriend_WechatId_IsSend" +}); +db.getCollection("存客宝采集网红").createIndex({ + WechatAccountId: NumberInt("1") +}, { + name: "WechatAccountId" +}); + +// ---------------------------- +// Collection structure for 存客宝采集网红有微信 +// ---------------------------- +db.getCollection("存客宝采集网红有微信").drop(); +db.createCollection("存客宝采集网红有微信"); + +// ---------------------------- +// Collection structure for 老坑爹商店 shop.lkdie.com +// ---------------------------- +db.getCollection("老坑爹商店 shop.lkdie.com").drop(); +db.createCollection("老坑爹商店 shop.lkdie.com"); +db.getCollection("老坑爹商店 shop.lkdie.com").createIndex({ + email: NumberInt("1") +}, { + name: "email", + unique: true +}); +db.getCollection("老坑爹商店 shop.lkdie.com").createIndex({ + nickname: NumberInt("1") +}, { + name: "nickname", + unique: true +}); +db.getCollection("老坑爹商店 shop.lkdie.com").createIndex({ + updatedTime: NumberInt("1") +}, { + name: "updatedTime" +}); + +// ---------------------------- +// Collection structure for 老坑爹论坛www.lkdie.com 会员 +// ---------------------------- +db.getCollection("老坑爹论坛www.lkdie.com 会员").drop(); +db.createCollection("老坑爹论坛www.lkdie.com 会员"); +db.getCollection("老坑爹论坛www.lkdie.com 会员").createIndex({ + username: NumberInt("1") +}, { + name: "username", + unique: true +}); +db.getCollection("老坑爹论坛www.lkdie.com 会员").createIndex({ + email: NumberInt("1") +}, { + name: "email" +}); + +// ---------------------------- +// Collection structure for 黑科技www.quwanzhi.com 付款邮箱 +// ---------------------------- +db.getCollection("黑科技www.quwanzhi.com 付款邮箱").drop(); +db.createCollection("黑科技www.quwanzhi.com 付款邮箱"); +db.getCollection("黑科技www.quwanzhi.com 付款邮箱").createIndex({ + trade_no: NumberInt("1") +}, { + name: "tradeNo" +}); +db.getCollection("黑科技www.quwanzhi.com 付款邮箱").createIndex({ + zid: NumberInt("1") +}, { + name: "zid" +}); +db.getCollection("黑科技www.quwanzhi.com 付款邮箱").createIndex({ + tid: NumberInt("1") +}, { + name: "tid" +}); + +// ---------------------------- +// Collection structure for 黑科技www.quwanzhi.com 发卡邮箱 +// ---------------------------- +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").drop(); +db.createCollection("黑科技www.quwanzhi.com 发卡邮箱"); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + zid: NumberInt("1") +}, { + name: "zid" +}); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + input: NumberInt("1") +}, { + name: "input" +}); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + userid: NumberInt("1") +}, { + name: "userid" +}); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + tradeno: NumberInt("1") +}, { + name: "tradeno" +}); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + id: NumberInt("1") +}, { + name: "id" +}); +db.getCollection("黑科技www.quwanzhi.com 发卡邮箱").createIndex({ + tid: NumberInt("1") +}, { + name: "tid" +}); diff --git a/数据库/KR_商城.js b/数据库/KR_商城.js new file mode 100644 index 0000000..3a784f1 --- /dev/null +++ b/数据库/KR_商城.js @@ -0,0 +1,122 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_商城 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:13 +*/ + + +// ---------------------------- +// Collection structure for 21年贝蒂喜订单整合 +// ---------------------------- +db.getCollection("21年贝蒂喜订单整合").drop(); +db.createCollection("21年贝蒂喜订单整合"); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "特权订金订单id": NumberInt("1") +}, { + name: "特权订金订单id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "新零售导购门店id": NumberInt("1") +}, { + name: "新零售导购门店id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "新零售发货门店id": NumberInt("1") +}, { + name: "新零售发货门店id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "新零售成交门店id": NumberInt("1") +}, { + name: "新零售成交门店id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "新零售成交经销商id": NumberInt("1") +}, { + name: "新零售成交经销商id_1" +}); +db.getCollection("21年贝蒂喜订单整合").createIndex({ + "店铺Id": NumberInt("1") +}, { + name: "店铺Id_1" +}); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 凡客诚品_vancl.com +// ---------------------------- +db.getCollection("凡客诚品_vancl.com").drop(); +db.createCollection("凡客诚品_vancl.com"); +db.getCollection("凡客诚品_vancl.com").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("凡客诚品_vancl.com").createIndex({ + "数据来源": NumberInt("1"), + "导入时间": NumberInt("-1") +}, { + name: "数据来源_1_导入时间_-1" +}); + +// ---------------------------- +// Collection structure for 嘟嘟牛 +// ---------------------------- +db.getCollection("嘟嘟牛").drop(); +db.createCollection("嘟嘟牛"); + +// ---------------------------- +// Collection structure for 嘟嘟牛 本地同城 +// ---------------------------- +db.getCollection("嘟嘟牛 本地同城").drop(); +db.createCollection("嘟嘟牛 本地同城"); +db.getCollection("嘟嘟牛 本地同城").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("嘟嘟牛 本地同城").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); + +// ---------------------------- +// Collection structure for 小米 xiaomi_com +// ---------------------------- +db.getCollection("小米 xiaomi_com").drop(); +db.createCollection("小米 xiaomi_com"); + +// ---------------------------- +// Collection structure for 购物-北京一电购公司2月整理版30万 +// ---------------------------- +db.getCollection("购物-北京一电购公司2月整理版30万").drop(); +db.createCollection("购物-北京一电购公司2月整理版30万"); +db.getCollection("购物-北京一电购公司2月整理版30万").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); diff --git a/数据库/KR_国外.js b/数据库/KR_国外.js new file mode 100644 index 0000000..2498e82 --- /dev/null +++ b/数据库/KR_国外.js @@ -0,0 +1,359 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_国外 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:56 +*/ + + +// ---------------------------- +// Collection structure for Yandex俄罗斯百度用户数据 +// ---------------------------- +db.getCollection("Yandex俄罗斯百度用户数据").drop(); +db.createCollection("Yandex俄罗斯百度用户数据"); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + domain: NumberInt("1") +}, { + name: "domain_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + password_strength: NumberInt("1") +}, { + name: "password_strength_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + country: NumberInt("1") +}, { + name: "country_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + service_provider: NumberInt("1") +}, { + name: "service_provider_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + created_at: NumberInt("-1") +}, { + name: "created_at_-1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + data_source: NumberInt("1") +}, { + name: "data_source_1" +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + email: NumberInt("1"), + password: NumberInt("1") +}, { + name: "email_password_unique", + unique: true +}); +db.getCollection("Yandex俄罗斯百度用户数据").createIndex({ + "$**": "text" +}, { + name: "text_search", + weights: { + email: NumberInt("1"), + username: NumberInt("1") + }, + default_language: "english", + language_override: "language", + textIndexVersion: NumberInt("3") +}); + +// ---------------------------- +// Collection structure for Yandex俄罗斯谷歌用户数据 +// ---------------------------- +db.getCollection("Yandex俄罗斯谷歌用户数据").drop(); +db.createCollection("Yandex俄罗斯谷歌用户数据"); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + domain: NumberInt("1") +}, { + name: "domain_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + password_strength: NumberInt("1") +}, { + name: "password_strength_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + country: NumberInt("1") +}, { + name: "country_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + service_provider: NumberInt("1") +}, { + name: "service_provider_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + created_at: NumberInt("-1") +}, { + name: "created_at_-1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + data_source: NumberInt("1") +}, { + name: "data_source_1" +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + email: NumberInt("1"), + password: NumberInt("1") +}, { + name: "email_password_unique", + unique: true +}); +db.getCollection("Yandex俄罗斯谷歌用户数据").createIndex({ + "$**": "text" +}, { + name: "text_search", + weights: { + email: NumberInt("1"), + username: NumberInt("1") + }, + default_language: "english", + language_override: "language", + textIndexVersion: NumberInt("3") +}); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for www.angeldiet.co.kr 1 +// ---------------------------- +db.getCollection("www.angeldiet.co.kr 1").drop(); +db.createCollection("www.angeldiet.co.kr 1"); +db.getCollection("www.angeldiet.co.kr 1").createIndex({ + ID: NumberInt("1") +}, { + name: "ID_1" +}); + +// ---------------------------- +// Collection structure for www.angeldiet.co.kr 2 +// ---------------------------- +db.getCollection("www.angeldiet.co.kr 2").drop(); +db.createCollection("www.angeldiet.co.kr 2"); +db.getCollection("www.angeldiet.co.kr 2").createIndex({ + ID: NumberInt("1") +}, { + name: "ID_1" +}); + +// ---------------------------- +// Collection structure for www.bookoa.com(韩国学术出版) +// ---------------------------- +db.getCollection("www.bookoa.com(韩国学术出版)").drop(); +db.createCollection("www.bookoa.com(韩国学术出版)"); +db.getCollection("www.bookoa.com(韩国学术出版)").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("www.bookoa.com(韩国学术出版)").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("www.bookoa.com(韩国学术出版)").createIndex({ + hphone: NumberInt("1") +}, { + name: "hphone_1" +}); +db.getCollection("www.bookoa.com(韩国学术出版)").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("www.bookoa.com(韩国学术出版)").createIndex({ + email: NumberInt("1"), + name: NumberInt("1") +}, { + name: "email_1_name_1" +}); + +// ---------------------------- +// Collection structure for 卡塔卡银行_APP数据 +// ---------------------------- +db.getCollection("卡塔卡银行_APP数据").drop(); +db.createCollection("卡塔卡银行_APP数据"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_交易明细 +// ---------------------------- +db.getCollection("卡塔卡银行_交易明细").drop(); +db.createCollection("卡塔卡银行_交易明细"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_交易明细临时 +// ---------------------------- +db.getCollection("卡塔卡银行_交易明细临时").drop(); +db.createCollection("卡塔卡银行_交易明细临时"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_卡主表 +// ---------------------------- +db.getCollection("卡塔卡银行_卡主表").drop(); +db.createCollection("卡塔卡银行_卡主表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_卡列表 +// ---------------------------- +db.getCollection("卡塔卡银行_卡列表").drop(); +db.createCollection("卡塔卡银行_卡列表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_审计主表 +// ---------------------------- +db.getCollection("卡塔卡银行_审计主表").drop(); +db.createCollection("卡塔卡银行_审计主表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_客户 +// ---------------------------- +db.getCollection("卡塔卡银行_客户").drop(); +db.createCollection("卡塔卡银行_客户"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_客户主表 +// ---------------------------- +db.getCollection("卡塔卡银行_客户主表").drop(); +db.createCollection("卡塔卡银行_客户主表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_收款人主表 +// ---------------------------- +db.getCollection("卡塔卡银行_收款人主表").drop(); +db.createCollection("卡塔卡银行_收款人主表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_用户档案 +// ---------------------------- +db.getCollection("卡塔卡银行_用户档案").drop(); +db.createCollection("卡塔卡银行_用户档案"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_申请记录 +// ---------------------------- +db.getCollection("卡塔卡银行_申请记录").drop(); +db.createCollection("卡塔卡银行_申请记录"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_电子对账单邮箱 +// ---------------------------- +db.getCollection("卡塔卡银行_电子对账单邮箱").drop(); +db.createCollection("卡塔卡银行_电子对账单邮箱"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_订单客户明细 +// ---------------------------- +db.getCollection("卡塔卡银行_订单客户明细").drop(); +db.createCollection("卡塔卡银行_订单客户明细"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_账户主表 +// ---------------------------- +db.getCollection("卡塔卡银行_账户主表").drop(); +db.createCollection("卡塔卡银行_账户主表"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_身份证变更审计 +// ---------------------------- +db.getCollection("卡塔卡银行_身份证变更审计").drop(); +db.createCollection("卡塔卡银行_身份证变更审计"); + +// ---------------------------- +// Collection structure for 卡塔卡银行_黑名单用户 +// ---------------------------- +db.getCollection("卡塔卡银行_黑名单用户").drop(); +db.createCollection("卡塔卡银行_黑名单用户"); + +// ---------------------------- +// Collection structure for 台湾财经电视台 +// ---------------------------- +db.getCollection("台湾财经电视台").drop(); +db.createCollection("台湾财经电视台"); +db.getCollection("台湾财经电视台").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("台湾财经电视台").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("台湾财经电视台").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("台湾财经电视台").createIndex({ + source: NumberInt("1") +}, { + name: "source_1" +}); + +// ---------------------------- +// Collection structure for 土耳其公民 +// ---------------------------- +db.getCollection("土耳其公民").drop(); +db.createCollection("土耳其公民"); + +// ---------------------------- +// Collection structure for 社工库_1.7G_www.comicstorm.co.kr 85w_1 +// ---------------------------- +db.getCollection("社工库_1.7G_www.comicstorm.co.kr 85w_1").drop(); +db.createCollection("社工库_1.7G_www.comicstorm.co.kr 85w_1"); +db.getCollection("社工库_1.7G_www.comicstorm.co.kr 85w_1").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for 社工库_1.7G_www.hacker.co.kr 140W_140W +// ---------------------------- +db.getCollection("社工库_1.7G_www.hacker.co.kr 140W_140W").drop(); +db.createCollection("社工库_1.7G_www.hacker.co.kr 140W_140W"); +db.getCollection("社工库_1.7G_www.hacker.co.kr 140W_140W").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); diff --git a/数据库/KR_存客宝.js b/数据库/KR_存客宝.js new file mode 100644 index 0000000..c6e03cf --- /dev/null +++ b/数据库/KR_存客宝.js @@ -0,0 +1,618 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_存客宝 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:41 +*/ + + +// ---------------------------- +// Collection structure for cunkebao_AccountWechat +// ---------------------------- +db.getCollection("cunkebao_AccountWechat").drop(); +db.createCollection("cunkebao_AccountWechat"); +db.getCollection("cunkebao_AccountWechat").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_DownloadVideoSchedule +// ---------------------------- +db.getCollection("cunkebao_DownloadVideoSchedule").drop(); +db.createCollection("cunkebao_DownloadVideoSchedule"); +db.getCollection("cunkebao_DownloadVideoSchedule").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_FriendMessageTask +// ---------------------------- +db.getCollection("cunkebao_FriendMessageTask").drop(); +db.createCollection("cunkebao_FriendMessageTask"); +db.getCollection("cunkebao_FriendMessageTask").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_FriendMessageTpl +// ---------------------------- +db.getCollection("cunkebao_FriendMessageTpl").drop(); +db.createCollection("cunkebao_FriendMessageTpl"); +db.getCollection("cunkebao_FriendMessageTpl").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_FriendRequestConfig +// ---------------------------- +db.getCollection("cunkebao_FriendRequestConfig").drop(); +db.createCollection("cunkebao_FriendRequestConfig"); + +// ---------------------------- +// Collection structure for cunkebao_FriendRequestTaskScan +// ---------------------------- +db.getCollection("cunkebao_FriendRequestTaskScan").drop(); +db.createCollection("cunkebao_FriendRequestTaskScan"); +db.getCollection("cunkebao_FriendRequestTaskScan").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_FrontSession +// ---------------------------- +db.getCollection("cunkebao_FrontSession").drop(); +db.createCollection("cunkebao_FrontSession"); + +// ---------------------------- +// Collection structure for cunkebao_JdPromotionSite +// ---------------------------- +db.getCollection("cunkebao_JdPromotionSite").drop(); +db.createCollection("cunkebao_JdPromotionSite"); +db.getCollection("cunkebao_JdPromotionSite").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_JdSocialMedia +// ---------------------------- +db.getCollection("cunkebao_JdSocialMedia").drop(); +db.createCollection("cunkebao_JdSocialMedia"); +db.getCollection("cunkebao_JdSocialMedia").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_MaterialLib +// ---------------------------- +db.getCollection("cunkebao_MaterialLib").drop(); +db.createCollection("cunkebao_MaterialLib"); +db.getCollection("cunkebao_MaterialLib").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_MaterialPushLog +// ---------------------------- +db.getCollection("cunkebao_MaterialPushLog").drop(); +db.createCollection("cunkebao_MaterialPushLog"); +db.getCollection("cunkebao_MaterialPushLog").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_MiniProgrameLib +// ---------------------------- +db.getCollection("cunkebao_MiniProgrameLib").drop(); +db.createCollection("cunkebao_MiniProgrameLib"); +db.getCollection("cunkebao_MiniProgrameLib").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_PartTimer +// ---------------------------- +db.getCollection("cunkebao_PartTimer").drop(); +db.createCollection("cunkebao_PartTimer"); +db.getCollection("cunkebao_PartTimer").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_Poster +// ---------------------------- +db.getCollection("cunkebao_Poster").drop(); +db.createCollection("cunkebao_Poster"); +db.getCollection("cunkebao_Poster").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_SysAttach +// ---------------------------- +db.getCollection("cunkebao_SysAttach").drop(); +db.createCollection("cunkebao_SysAttach"); + +// ---------------------------- +// Collection structure for cunkebao_SysAttach_20250228 +// ---------------------------- +db.getCollection("cunkebao_SysAttach_20250228").drop(); +db.createCollection("cunkebao_SysAttach_20250228"); + +// ---------------------------- +// Collection structure for cunkebao_SysAttach_copy +// ---------------------------- +db.getCollection("cunkebao_SysAttach_copy").drop(); +db.createCollection("cunkebao_SysAttach_copy"); + +// ---------------------------- +// Collection structure for cunkebao_SysDataSource +// ---------------------------- +db.getCollection("cunkebao_SysDataSource").drop(); +db.createCollection("cunkebao_SysDataSource"); + +// ---------------------------- +// Collection structure for cunkebao_SysModule +// ---------------------------- +db.getCollection("cunkebao_SysModule").drop(); +db.createCollection("cunkebao_SysModule"); + +// ---------------------------- +// Collection structure for cunkebao_SysNavItem +// ---------------------------- +db.getCollection("cunkebao_SysNavItem").drop(); +db.createCollection("cunkebao_SysNavItem"); + +// ---------------------------- +// Collection structure for cunkebao_SysObject +// ---------------------------- +db.getCollection("cunkebao_SysObject").drop(); +db.createCollection("cunkebao_SysObject"); + +// ---------------------------- +// Collection structure for cunkebao_SysOperatorPermission +// ---------------------------- +db.getCollection("cunkebao_SysOperatorPermission").drop(); +db.createCollection("cunkebao_SysOperatorPermission"); + +// ---------------------------- +// Collection structure for cunkebao_SysRelatedList +// ---------------------------- +db.getCollection("cunkebao_SysRelatedList").drop(); +db.createCollection("cunkebao_SysRelatedList"); + +// ---------------------------- +// Collection structure for cunkebao_SysShare +// ---------------------------- +db.getCollection("cunkebao_SysShare").drop(); +db.createCollection("cunkebao_SysShare"); + +// ---------------------------- +// Collection structure for cunkebao_SysSolution +// ---------------------------- +db.getCollection("cunkebao_SysSolution").drop(); +db.createCollection("cunkebao_SysSolution"); + +// ---------------------------- +// Collection structure for cunkebao_SysUI +// ---------------------------- +db.getCollection("cunkebao_SysUI").drop(); +db.createCollection("cunkebao_SysUI"); + +// ---------------------------- +// Collection structure for cunkebao_UserIncome +// ---------------------------- +db.getCollection("cunkebao_UserIncome").drop(); +db.createCollection("cunkebao_UserIncome"); +db.getCollection("cunkebao_UserIncome").createIndex({ + lId: NumberInt("1") +}, { + name: "lId_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_administrator_permissions +// ---------------------------- +db.getCollection("cunkebao_v3_ck_administrator_permissions").drop(); +db.createCollection("cunkebao_v3_ck_administrator_permissions"); +db.getCollection("cunkebao_v3_ck_administrator_permissions").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_administrators +// ---------------------------- +db.getCollection("cunkebao_v3_ck_administrators").drop(); +db.createCollection("cunkebao_v3_ck_administrators"); +db.getCollection("cunkebao_v3_ck_administrators").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_call_recording +// ---------------------------- +db.getCollection("cunkebao_v3_ck_call_recording").drop(); +db.createCollection("cunkebao_v3_ck_call_recording"); +db.getCollection("cunkebao_v3_ck_call_recording").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_company +// ---------------------------- +db.getCollection("cunkebao_v3_ck_company").drop(); +db.createCollection("cunkebao_v3_ck_company"); +db.getCollection("cunkebao_v3_ck_company").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_customer_acquisition_task +// ---------------------------- +db.getCollection("cunkebao_v3_ck_customer_acquisition_task").drop(); +db.createCollection("cunkebao_v3_ck_customer_acquisition_task"); +db.getCollection("cunkebao_v3_ck_customer_acquisition_task").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_flow_package_order +// ---------------------------- +db.getCollection("cunkebao_v3_ck_flow_package_order").drop(); +db.createCollection("cunkebao_v3_ck_flow_package_order"); +db.getCollection("cunkebao_v3_ck_flow_package_order").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_flow_usage_record +// ---------------------------- +db.getCollection("cunkebao_v3_ck_flow_usage_record").drop(); +db.createCollection("cunkebao_v3_ck_flow_usage_record"); +db.getCollection("cunkebao_v3_ck_flow_usage_record").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_jd_promotion_site +// ---------------------------- +db.getCollection("cunkebao_v3_ck_jd_promotion_site").drop(); +db.createCollection("cunkebao_v3_ck_jd_promotion_site"); +db.getCollection("cunkebao_v3_ck_jd_promotion_site").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_jd_social_media +// ---------------------------- +db.getCollection("cunkebao_v3_ck_jd_social_media").drop(); +db.createCollection("cunkebao_v3_ck_jd_social_media"); +db.getCollection("cunkebao_v3_ck_jd_social_media").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_menus +// ---------------------------- +db.getCollection("cunkebao_v3_ck_menus").drop(); +db.createCollection("cunkebao_v3_ck_menus"); +db.getCollection("cunkebao_v3_ck_menus").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_plan_scene +// ---------------------------- +db.getCollection("cunkebao_v3_ck_plan_scene").drop(); +db.createCollection("cunkebao_v3_ck_plan_scene"); +db.getCollection("cunkebao_v3_ck_plan_scene").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_plan_tags +// ---------------------------- +db.getCollection("cunkebao_v3_ck_plan_tags").drop(); +db.createCollection("cunkebao_v3_ck_plan_tags"); +db.getCollection("cunkebao_v3_ck_plan_tags").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_task_customer +// ---------------------------- +db.getCollection("cunkebao_v3_ck_task_customer").drop(); +db.createCollection("cunkebao_v3_ck_task_customer"); +db.getCollection("cunkebao_v3_ck_task_customer").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_traffic_pool +// ---------------------------- +db.getCollection("cunkebao_v3_ck_traffic_pool").drop(); +db.createCollection("cunkebao_v3_ck_traffic_pool"); +db.getCollection("cunkebao_v3_ck_traffic_pool").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_traffic_source +// ---------------------------- +db.getCollection("cunkebao_v3_ck_traffic_source").drop(); +db.createCollection("cunkebao_v3_ck_traffic_source"); +db.getCollection("cunkebao_v3_ck_traffic_source").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_traffic_source_package +// ---------------------------- +db.getCollection("cunkebao_v3_ck_traffic_source_package").drop(); +db.createCollection("cunkebao_v3_ck_traffic_source_package"); +db.getCollection("cunkebao_v3_ck_traffic_source_package").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_traffic_source_package_item +// ---------------------------- +db.getCollection("cunkebao_v3_ck_traffic_source_package_item").drop(); +db.createCollection("cunkebao_v3_ck_traffic_source_package_item"); +db.getCollection("cunkebao_v3_ck_traffic_source_package_item").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_traffic_tag +// ---------------------------- +db.getCollection("cunkebao_v3_ck_traffic_tag").drop(); +db.createCollection("cunkebao_v3_ck_traffic_tag"); +db.getCollection("cunkebao_v3_ck_traffic_tag").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_user_flow_package +// ---------------------------- +db.getCollection("cunkebao_v3_ck_user_flow_package").drop(); +db.createCollection("cunkebao_v3_ck_user_flow_package"); +db.getCollection("cunkebao_v3_ck_user_flow_package").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_user_portrait +// ---------------------------- +db.getCollection("cunkebao_v3_ck_user_portrait").drop(); +db.createCollection("cunkebao_v3_ck_user_portrait"); +db.getCollection("cunkebao_v3_ck_user_portrait").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_vendor_project +// ---------------------------- +db.getCollection("cunkebao_v3_ck_vendor_project").drop(); +db.createCollection("cunkebao_v3_ck_vendor_project"); +db.getCollection("cunkebao_v3_ck_vendor_project").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_wechat_friendship +// ---------------------------- +db.getCollection("cunkebao_v3_ck_wechat_friendship").drop(); +db.createCollection("cunkebao_v3_ck_wechat_friendship"); +db.getCollection("cunkebao_v3_ck_wechat_friendship").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_wechat_group_member +// ---------------------------- +db.getCollection("cunkebao_v3_ck_wechat_group_member").drop(); +db.createCollection("cunkebao_v3_ck_wechat_group_member"); +db.getCollection("cunkebao_v3_ck_wechat_group_member").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_wechat_tag +// ---------------------------- +db.getCollection("cunkebao_v3_ck_wechat_tag").drop(); +db.createCollection("cunkebao_v3_ck_wechat_tag"); +db.getCollection("cunkebao_v3_ck_wechat_tag").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_workbench +// ---------------------------- +db.getCollection("cunkebao_v3_ck_workbench").drop(); +db.createCollection("cunkebao_v3_ck_workbench"); +db.getCollection("cunkebao_v3_ck_workbench").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_workbench_group_create_item +// ---------------------------- +db.getCollection("cunkebao_v3_ck_workbench_group_create_item").drop(); +db.createCollection("cunkebao_v3_ck_workbench_group_create_item"); +db.getCollection("cunkebao_v3_ck_workbench_group_create_item").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_workbench_group_push +// ---------------------------- +db.getCollection("cunkebao_v3_ck_workbench_group_push").drop(); +db.createCollection("cunkebao_v3_ck_workbench_group_push"); +db.getCollection("cunkebao_v3_ck_workbench_group_push").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_ck_workbench_group_push_item +// ---------------------------- +db.getCollection("cunkebao_v3_ck_workbench_group_push_item").drop(); +db.createCollection("cunkebao_v3_ck_workbench_group_push_item"); +db.getCollection("cunkebao_v3_ck_workbench_group_push_item").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_s2_allot_rule +// ---------------------------- +db.getCollection("cunkebao_v3_s2_allot_rule").drop(); +db.createCollection("cunkebao_v3_s2_allot_rule"); +db.getCollection("cunkebao_v3_s2_allot_rule").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for cunkebao_v3_s2_device_group +// ---------------------------- +db.getCollection("cunkebao_v3_s2_device_group").drop(); +db.createCollection("cunkebao_v3_s2_device_group"); +db.getCollection("cunkebao_v3_s2_device_group").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 好友关系网络汇总表 +// ---------------------------- +db.getCollection("好友关系网络汇总表").drop(); +db.createCollection("好友关系网络汇总表"); +db.getCollection("好友关系网络汇总表").createIndex({ + "用户微信ID": NumberInt("1") +}, { + name: "用户微信ID_1" +}); +db.getCollection("好友关系网络汇总表").createIndex({ + "好友微信ID": NumberInt("1") +}, { + name: "好友微信ID_1" +}); +db.getCollection("好友关系网络汇总表").createIndex({ + "关系等级": NumberInt("1") +}, { + name: "关系等级_1" +}); +db.getCollection("好友关系网络汇总表").createIndex({ + "RFM评分.总分": NumberInt("1") +}, { + name: "RFM评分.总分_1" +}); +db.getCollection("好友关系网络汇总表").createIndex({ + "关系强度评分": NumberInt("1") +}, { + name: "关系强度评分_1" +}); +db.getCollection("好友关系网络汇总表").createIndex({ + "公司ID": NumberInt("1") +}, { + name: "公司ID_1" +}); diff --git a/数据库/KR_存客宝_四表重构KR_KR版.js b/数据库/KR_存客宝_四表重构KR_KR版.js new file mode 100644 index 0000000..06b2621 --- /dev/null +++ b/数据库/KR_存客宝_四表重构KR_KR版.js @@ -0,0 +1,65 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_存客宝_四表重构KR_KR版 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:18:48 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 估值模式表 +// ---------------------------- +db.getCollection("估值模式表").drop(); +db.createCollection("估值模式表"); + +// ---------------------------- +// Collection structure for 微信号管理表 +// ---------------------------- +db.getCollection("微信号管理表").drop(); +db.createCollection("微信号管理表"); + +// ---------------------------- +// Collection structure for 微信好友表 +// ---------------------------- +db.getCollection("微信好友表").drop(); +db.createCollection("微信好友表"); + +// ---------------------------- +// Collection structure for 设备管理表 +// ---------------------------- +db.getCollection("设备管理表").drop(); +db.createCollection("设备管理表"); +db.getCollection("设备管理表").createIndex({ + "设备ID": NumberInt("1") +}, { + name: "设备ID_1", + unique: true +}); +db.getCollection("设备管理表").createIndex({ + "用户ID": NumberInt("1") +}, { + name: "用户ID_1" +}); +db.getCollection("设备管理表").createIndex({ + "设备类型": NumberInt("1") +}, { + name: "设备类型_1" +}); diff --git a/数据库/KR_微博.js b/数据库/KR_微博.js new file mode 100644 index 0000000..1b5c053 --- /dev/null +++ b/数据库/KR_微博.js @@ -0,0 +1,36 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_微博 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:57 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 微博uid+手机 +// ---------------------------- +db.getCollection("微博uid+手机").drop(); +db.createCollection("微博uid+手机"); +db.getCollection("微博uid+手机").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); diff --git a/数据库/KR_快递.js b/数据库/KR_快递.js new file mode 100644 index 0000000..de92805 --- /dev/null +++ b/数据库/KR_快递.js @@ -0,0 +1,90 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_快递 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:31 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for wlzhwu_jiezhang +// ---------------------------- +db.getCollection("wlzhwu_jiezhang").drop(); +db.createCollection("wlzhwu_jiezhang"); + +// ---------------------------- +// Collection structure for wlzhwu_wlzhangwu +// ---------------------------- +db.getCollection("wlzhwu_wlzhangwu").drop(); +db.createCollection("wlzhwu_wlzhangwu"); + +// ---------------------------- +// Collection structure for 可行路由 +// ---------------------------- +db.getCollection("可行路由").drop(); +db.createCollection("可行路由"); +db.getCollection("可行路由").createIndex({ + _import_time: NumberInt("1") +}, { + name: "_import_time_1" +}); + +// ---------------------------- +// Collection structure for 圆通_普通客户 +// ---------------------------- +db.getCollection("圆通_普通客户").drop(); +db.createCollection("圆通_普通客户"); +db.getCollection("圆通_普通客户").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("圆通_普通客户").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("圆通_普通客户").createIndex({ + user_score: NumberInt("-1") +}, { + name: "user_score_-1" +}); + +// ---------------------------- +// Collection structure for 圆通_潜在客户 +// ---------------------------- +db.getCollection("圆通_潜在客户").drop(); +db.createCollection("圆通_潜在客户"); +db.getCollection("圆通_潜在客户").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("圆通_潜在客户").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("圆通_潜在客户").createIndex({ + user_score: NumberInt("-1") +}, { + name: "user_score_-1" +}); diff --git a/数据库/KR_户口.js b/数据库/KR_户口.js new file mode 100644 index 0000000..e8ea0de --- /dev/null +++ b/数据库/KR_户口.js @@ -0,0 +1,46 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_户口 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:03 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 户籍数据 +// ---------------------------- +db.getCollection("户籍数据").drop(); +db.createCollection("户籍数据"); +db.getCollection("户籍数据").createIndex({ + "姓名": NumberInt("1") +}, { + name: "姓名_1" +}); +db.getCollection("户籍数据").createIndex({ + "身份证号": NumberInt("1") +}, { + name: "身份证号_1" +}); +db.getCollection("户籍数据").createIndex({ + "户籍地址": NumberInt("1") +}, { + name: "户籍地址_1" +}); diff --git a/数据库/KR_手机.js b/数据库/KR_手机.js new file mode 100644 index 0000000..b1edf8c --- /dev/null +++ b/数据库/KR_手机.js @@ -0,0 +1,186 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_手机 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:20 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for tmpgSyh4.renameCollection +// ---------------------------- +db.getCollection("tmpgSyh4.renameCollection").drop(); +db.createCollection("tmpgSyh4.renameCollection"); + +// ---------------------------- +// Collection structure for 广东gd5800万神州行动感地带=广州GZBran2_copy2 +// ---------------------------- +db.getCollection("广东gd5800万神州行动感地带=广州GZBran2_copy2").drop(); +db.createCollection("广东gd5800万神州行动感地带=广州GZBran2_copy2"); + +// ---------------------------- +// Collection structure for 广东广州航空数据1 +// ---------------------------- +db.getCollection("广东广州航空数据1").drop(); +db.createCollection("广东广州航空数据1"); + +// ---------------------------- +// Collection structure for 广东广州航空数据2 +// ---------------------------- +db.getCollection("广东广州航空数据2").drop(); +db.createCollection("广东广州航空数据2"); + +// ---------------------------- +// Collection structure for 广东广州航空数据3 +// ---------------------------- +db.getCollection("广东广州航空数据3").drop(); +db.createCollection("广东广州航空数据3"); + +// ---------------------------- +// Collection structure for 广东广州航空数据4 +// ---------------------------- +db.getCollection("广东广州航空数据4").drop(); +db.createCollection("广东广州航空数据4"); +db.getCollection("广东广州航空数据4").createIndex({ + "电话号码": NumberInt("1") +}, { + name: "电话号码_1" +}); + +// ---------------------------- +// Collection structure for 广东深圳全球通女 +// ---------------------------- +db.getCollection("广东深圳全球通女").drop(); +db.createCollection("广东深圳全球通女"); + +// ---------------------------- +// Collection structure for 江西移动_701鹰潭 +// ---------------------------- +db.getCollection("江西移动_701鹰潭").drop(); +db.createCollection("江西移动_701鹰潭"); + +// ---------------------------- +// Collection structure for 江西移动_792九江 +// ---------------------------- +db.getCollection("江西移动_792九江").drop(); +db.createCollection("江西移动_792九江"); + +// ---------------------------- +// Collection structure for 江西移动_793上饶 +// ---------------------------- +db.getCollection("江西移动_793上饶").drop(); +db.createCollection("江西移动_793上饶"); + +// ---------------------------- +// Collection structure for 江西移动_798景德镇 +// ---------------------------- +db.getCollection("江西移动_798景德镇").drop(); +db.createCollection("江西移动_798景德镇"); + +// ---------------------------- +// Collection structure for 江西移动_799萍乡 +// ---------------------------- +db.getCollection("江西移动_799萍乡").drop(); +db.createCollection("江西移动_799萍乡"); + +// ---------------------------- +// Collection structure for 江西移动_上绕262万 +// ---------------------------- +db.getCollection("江西移动_上绕262万").drop(); +db.createCollection("江西移动_上绕262万"); + +// ---------------------------- +// Collection structure for 江西移动_九江222万 +// ---------------------------- +db.getCollection("江西移动_九江222万").drop(); +db.createCollection("江西移动_九江222万"); + +// ---------------------------- +// Collection structure for 江西移动_南昌368万 +// ---------------------------- +db.getCollection("江西移动_南昌368万").drop(); +db.createCollection("江西移动_南昌368万"); + +// ---------------------------- +// Collection structure for 江西移动_吉安206万 +// ---------------------------- +db.getCollection("江西移动_吉安206万").drop(); +db.createCollection("江西移动_吉安206万"); + +// ---------------------------- +// Collection structure for 江西移动_宜春230万 +// ---------------------------- +db.getCollection("江西移动_宜春230万").drop(); +db.createCollection("江西移动_宜春230万"); + +// ---------------------------- +// Collection structure for 江西移动_抚州143万 +// ---------------------------- +db.getCollection("江西移动_抚州143万").drop(); +db.createCollection("江西移动_抚州143万"); + +// ---------------------------- +// Collection structure for 江西移动_新余67万 +// ---------------------------- +db.getCollection("江西移动_新余67万").drop(); +db.createCollection("江西移动_新余67万"); + +// ---------------------------- +// Collection structure for 江西移动_景德镇76万 +// ---------------------------- +db.getCollection("江西移动_景德镇76万").drop(); +db.createCollection("江西移动_景德镇76万"); + +// ---------------------------- +// Collection structure for 江西移动_江西全球通带身份证 +// ---------------------------- +db.getCollection("江西移动_江西全球通带身份证").drop(); +db.createCollection("江西移动_江西全球通带身份证"); + +// ---------------------------- +// Collection structure for 江西移动_江西全球通身份证 +// ---------------------------- +db.getCollection("江西移动_江西全球通身份证").drop(); +db.createCollection("江西移动_江西全球通身份证"); + +// ---------------------------- +// Collection structure for 江西移动_江西全球通身份证姓名1226056 +// ---------------------------- +db.getCollection("江西移动_江西全球通身份证姓名1226056").drop(); +db.createCollection("江西移动_江西全球通身份证姓名1226056"); + +// ---------------------------- +// Collection structure for 江西移动_萍乡86万 +// ---------------------------- +db.getCollection("江西移动_萍乡86万").drop(); +db.createCollection("江西移动_萍乡86万"); + +// ---------------------------- +// Collection structure for 江西移动_赣州352万 +// ---------------------------- +db.getCollection("江西移动_赣州352万").drop(); +db.createCollection("江西移动_赣州352万"); + +// ---------------------------- +// Collection structure for 江西移动_鹰潭53万 +// ---------------------------- +db.getCollection("江西移动_鹰潭53万").drop(); +db.createCollection("江西移动_鹰潭53万"); diff --git a/数据库/KR_投资.js b/数据库/KR_投资.js new file mode 100644 index 0000000..250de32 --- /dev/null +++ b/数据库/KR_投资.js @@ -0,0 +1,223 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_投资 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:51 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 上海 +// ---------------------------- +db.getCollection("上海").drop(); +db.createCollection("上海"); + +// ---------------------------- +// Collection structure for 云南 +// ---------------------------- +db.getCollection("云南").drop(); +db.createCollection("云南"); + +// ---------------------------- +// Collection structure for 内蒙古 +// ---------------------------- +db.getCollection("内蒙古").drop(); +db.createCollection("内蒙古"); + +// ---------------------------- +// Collection structure for 北京 +// ---------------------------- +db.getCollection("北京").drop(); +db.createCollection("北京"); + +// ---------------------------- +// Collection structure for 吉林 +// ---------------------------- +db.getCollection("吉林").drop(); +db.createCollection("吉林"); + +// ---------------------------- +// Collection structure for 商务部世界买家数据库 此数据由www_10195_com提供 +// ---------------------------- +db.getCollection("商务部世界买家数据库 此数据由www_10195_com提供").drop(); +db.createCollection("商务部世界买家数据库 此数据由www_10195_com提供"); + +// ---------------------------- +// Collection structure for 四川 +// ---------------------------- +db.getCollection("四川").drop(); +db.createCollection("四川"); + +// ---------------------------- +// Collection structure for 天津 +// ---------------------------- +db.getCollection("天津").drop(); +db.createCollection("天津"); + +// ---------------------------- +// Collection structure for 宁夏 +// ---------------------------- +db.getCollection("宁夏").drop(); +db.createCollection("宁夏"); + +// ---------------------------- +// Collection structure for 安徽 +// ---------------------------- +db.getCollection("安徽").drop(); +db.createCollection("安徽"); + +// ---------------------------- +// Collection structure for 山东 +// ---------------------------- +db.getCollection("山东").drop(); +db.createCollection("山东"); + +// ---------------------------- +// Collection structure for 山西 +// ---------------------------- +db.getCollection("山西").drop(); +db.createCollection("山西"); + +// ---------------------------- +// Collection structure for 广东 +// ---------------------------- +db.getCollection("广东").drop(); +db.createCollection("广东"); + +// ---------------------------- +// Collection structure for 广西 +// ---------------------------- +db.getCollection("广西").drop(); +db.createCollection("广西"); + +// ---------------------------- +// Collection structure for 新疆 +// ---------------------------- +db.getCollection("新疆").drop(); +db.createCollection("新疆"); + +// ---------------------------- +// Collection structure for 江苏 +// ---------------------------- +db.getCollection("江苏").drop(); +db.createCollection("江苏"); + +// ---------------------------- +// Collection structure for 江西 +// ---------------------------- +db.getCollection("江西").drop(); +db.createCollection("江西"); + +// ---------------------------- +// Collection structure for 河北 +// ---------------------------- +db.getCollection("河北").drop(); +db.createCollection("河北"); + +// ---------------------------- +// Collection structure for 河南 +// ---------------------------- +db.getCollection("河南").drop(); +db.createCollection("河南"); + +// ---------------------------- +// Collection structure for 浙江 +// ---------------------------- +db.getCollection("浙江").drop(); +db.createCollection("浙江"); + +// ---------------------------- +// Collection structure for 海南 +// ---------------------------- +db.getCollection("海南").drop(); +db.createCollection("海南"); + +// ---------------------------- +// Collection structure for 湖北 +// ---------------------------- +db.getCollection("湖北").drop(); +db.createCollection("湖北"); + +// ---------------------------- +// Collection structure for 湖南 +// ---------------------------- +db.getCollection("湖南").drop(); +db.createCollection("湖南"); + +// ---------------------------- +// Collection structure for 甘肃 +// ---------------------------- +db.getCollection("甘肃").drop(); +db.createCollection("甘肃"); + +// ---------------------------- +// Collection structure for 省份 +// ---------------------------- +db.getCollection("省份").drop(); +db.createCollection("省份"); + +// ---------------------------- +// Collection structure for 福建 +// ---------------------------- +db.getCollection("福建").drop(); +db.createCollection("福建"); + +// ---------------------------- +// Collection structure for 西藏 +// ---------------------------- +db.getCollection("西藏").drop(); +db.createCollection("西藏"); + +// ---------------------------- +// Collection structure for 贵州 +// ---------------------------- +db.getCollection("贵州").drop(); +db.createCollection("贵州"); + +// ---------------------------- +// Collection structure for 辽宁 +// ---------------------------- +db.getCollection("辽宁").drop(); +db.createCollection("辽宁"); + +// ---------------------------- +// Collection structure for 重庆 +// ---------------------------- +db.getCollection("重庆").drop(); +db.createCollection("重庆"); + +// ---------------------------- +// Collection structure for 陕西 +// ---------------------------- +db.getCollection("陕西").drop(); +db.createCollection("陕西"); + +// ---------------------------- +// Collection structure for 青海 +// ---------------------------- +db.getCollection("青海").drop(); +db.createCollection("青海"); + +// ---------------------------- +// Collection structure for 黑龙江 +// ---------------------------- +db.getCollection("黑龙江").drop(); +db.createCollection("黑龙江"); diff --git a/数据库/KR_淘宝.js b/数据库/KR_淘宝.js new file mode 100644 index 0000000..d5df6b2 --- /dev/null +++ b/数据库/KR_淘宝.js @@ -0,0 +1,223 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_淘宝 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:35 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for zippo1(去重复后33万) +// ---------------------------- +db.getCollection("zippo1(去重复后33万)").drop(); +db.createCollection("zippo1(去重复后33万)"); + +// ---------------------------- +// Collection structure for zippo2 +// ---------------------------- +db.getCollection("zippo2").drop(); +db.createCollection("zippo2"); + +// ---------------------------- +// Collection structure for zippo3 +// ---------------------------- +db.getCollection("zippo3").drop(); +db.createCollection("zippo3"); + +// ---------------------------- +// Collection structure for zippo4 +// ---------------------------- +db.getCollection("zippo4").drop(); +db.createCollection("zippo4"); + +// ---------------------------- +// Collection structure for zippo5 +// ---------------------------- +db.getCollection("zippo5").drop(); +db.createCollection("zippo5"); + +// ---------------------------- +// Collection structure for 办公设备文具(去重复64.5万) +// ---------------------------- +db.getCollection("办公设备文具(去重复64.5万)").drop(); +db.createCollection("办公设备文具(去重复64.5万)"); + +// ---------------------------- +// Collection structure for 包(去重复后71万) +// ---------------------------- +db.getCollection("包(去重复后71万)").drop(); +db.createCollection("包(去重复后71万)"); + +// ---------------------------- +// Collection structure for 卖家邮箱(去重复后300万) +// ---------------------------- +db.getCollection("卖家邮箱(去重复后300万)").drop(); +db.createCollection("卖家邮箱(去重复后300万)"); + +// ---------------------------- +// Collection structure for 女士内衣(去重复后132.6万) +// ---------------------------- +db.getCollection("女士内衣(去重复后132.6万)").drop(); +db.createCollection("女士内衣(去重复后132.6万)"); + +// ---------------------------- +// Collection structure for 女士箱包配件(去重复后34.8万) +// ---------------------------- +db.getCollection("女士箱包配件(去重复后34.8万)").drop(); +db.createCollection("女士箱包配件(去重复后34.8万)"); + +// ---------------------------- +// Collection structure for 女装1(去重复后388.6万) +// ---------------------------- +db.getCollection("女装1(去重复后388.6万)").drop(); +db.createCollection("女装1(去重复后388.6万)"); + +// ---------------------------- +// Collection structure for 女装2(去重复后83万,带旺旺号及支付宝) +// ---------------------------- +db.getCollection("女装2(去重复后83万,带旺旺号及支付宝)").drop(); +db.createCollection("女装2(去重复后83万,带旺旺号及支付宝)"); + +// ---------------------------- +// Collection structure for 女鞋(去重复后118.6万) +// ---------------------------- +db.getCollection("女鞋(去重复后118.6万)").drop(); +db.createCollection("女鞋(去重复后118.6万)"); + +// ---------------------------- +// Collection structure for 家具定制代购(去重复后20万) +// ---------------------------- +db.getCollection("家具定制代购(去重复后20万)").drop(); +db.createCollection("家具定制代购(去重复后20万)"); + +// ---------------------------- +// Collection structure for 家用电器(去重复后93.5万) +// ---------------------------- +db.getCollection("家用电器(去重复后93.5万)").drop(); +db.createCollection("家用电器(去重复后93.5万)"); + +// ---------------------------- +// Collection structure for 床上用品(去重复后19万) +// ---------------------------- +db.getCollection("床上用品(去重复后19万)").drop(); +db.createCollection("床上用品(去重复后19万)"); + +// ---------------------------- +// Collection structure for 彩妆护肤(去重复后138万) +// ---------------------------- +db.getCollection("彩妆护肤(去重复后138万)").drop(); +db.createCollection("彩妆护肤(去重复后138万)"); + +// ---------------------------- +// Collection structure for 成人用品避孕用品情趣内衣(去重复后8万) +// ---------------------------- +db.getCollection("成人用品避孕用品情趣内衣(去重复后8万)").drop(); +db.createCollection("成人用品避孕用品情趣内衣(去重复后8万)"); + +// ---------------------------- +// Collection structure for 户外军品旅游机票(去重复后64万) +// ---------------------------- +db.getCollection("户外军品旅游机票(去重复后64万)").drop(); +db.createCollection("户外军品旅游机票(去重复后64万)"); + +// ---------------------------- +// Collection structure for 手机(去重复后80万) +// ---------------------------- +db.getCollection("手机(去重复后80万)").drop(); +db.createCollection("手机(去重复后80万)"); + +// ---------------------------- +// Collection structure for 数码相机图形冲印(去重复后23.8万) +// ---------------------------- +db.getCollection("数码相机图形冲印(去重复后23.8万)").drop(); +db.createCollection("数码相机图形冲印(去重复后23.8万)"); + +// ---------------------------- +// Collection structure for 数码配件电子元件(去重复后51.6万) +// ---------------------------- +db.getCollection("数码配件电子元件(去重复后51.6万)").drop(); +db.createCollection("数码配件电子元件(去重复后51.6万)"); + +// ---------------------------- +// Collection structure for 时尚家饰工艺品(去重复后41万) +// ---------------------------- +db.getCollection("时尚家饰工艺品(去重复后41万)").drop(); +db.createCollection("时尚家饰工艺品(去重复后41万)"); + +// ---------------------------- +// Collection structure for 汽车配件(去重复后38.6万) +// ---------------------------- +db.getCollection("汽车配件(去重复后38.6万)").drop(); +db.createCollection("汽车配件(去重复后38.6万)"); + +// ---------------------------- +// Collection structure for 珠宝钻石翡翠(去重复后44.5万) +// ---------------------------- +db.getCollection("珠宝钻石翡翠(去重复后44.5万)").drop(); +db.createCollection("珠宝钻石翡翠(去重复后44.5万)"); + +// ---------------------------- +// Collection structure for 电脑硬件台式机网络设备(去重复后20万) +// ---------------------------- +db.getCollection("电脑硬件台式机网络设备(去重复后20万)").drop(); +db.createCollection("电脑硬件台式机网络设备(去重复后20万)"); + +// ---------------------------- +// Collection structure for 男装(去重复后216万) +// ---------------------------- +db.getCollection("男装(去重复后216万)").drop(); +db.createCollection("男装(去重复后216万)"); + +// ---------------------------- +// Collection structure for 童装婴儿服鞋帽(去重复后52万) +// ---------------------------- +db.getCollection("童装婴儿服鞋帽(去重复后52万)").drop(); +db.createCollection("童装婴儿服鞋帽(去重复后52万)"); + +// ---------------------------- +// Collection structure for 笔记本(去重复后32万) +// ---------------------------- +db.getCollection("笔记本(去重复后32万)").drop(); +db.createCollection("笔记本(去重复后32万)"); + +// ---------------------------- +// Collection structure for 网络服务电脑软件(去重复后17万) +// ---------------------------- +db.getCollection("网络服务电脑软件(去重复后17万)").drop(); +db.createCollection("网络服务电脑软件(去重复后17万)"); + +// ---------------------------- +// Collection structure for 装潢灯具五金(去重复后107万) +// ---------------------------- +db.getCollection("装潢灯具五金(去重复后107万)").drop(); +db.createCollection("装潢灯具五金(去重复后107万)"); + +// ---------------------------- +// Collection structure for 食品保健(去重复后84.5万) +// ---------------------------- +db.getCollection("食品保健(去重复后84.5万)").drop(); +db.createCollection("食品保健(去重复后84.5万)"); + +// ---------------------------- +// Collection structure for 饰品(去重复14.7万) +// ---------------------------- +db.getCollection("饰品(去重复14.7万)").drop(); +db.createCollection("饰品(去重复14.7万)"); diff --git a/数据库/KR_游戏.js b/数据库/KR_游戏.js new file mode 100644 index 0000000..23b1759 --- /dev/null +++ b/数据库/KR_游戏.js @@ -0,0 +1,156 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_游戏 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:21:24 +*/ + + +// ---------------------------- +// Collection structure for 178游戏网 +// ---------------------------- +db.getCollection("178游戏网").drop(); +db.createCollection("178游戏网"); +db.getCollection("178游戏网").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); + +// ---------------------------- +// Collection structure for 766游戏网 +// ---------------------------- +db.getCollection("766游戏网").drop(); +db.createCollection("766游戏网"); +db.getCollection("766游戏网").createIndex({ + "data.0": NumberInt("1") +}, { + name: "data.0_1" +}); + +// ---------------------------- +// Collection structure for 7k7k小游戏 +// ---------------------------- +db.getCollection("7k7k小游戏").drop(); +db.createCollection("7k7k小游戏"); +db.getCollection("7k7k小游戏").createIndex({ + account: NumberInt("1") +}, { + name: "account_1" +}); +db.getCollection("7k7k小游戏").createIndex({ + domain: NumberInt("1") +}, { + name: "domain_1" +}); +db.getCollection("7k7k小游戏").createIndex({ + account_type: NumberInt("1") +}, { + name: "account_type_1" +}); +db.getCollection("7k7k小游戏").createIndex({ + is_email: NumberInt("1") +}, { + name: "is_email_1" +}); + +// ---------------------------- +// Collection structure for DNF +// ---------------------------- +db.getCollection("DNF").drop(); +db.createCollection("DNF"); +db.getCollection("DNF").createIndex({ + "data.0": NumberInt("1") +}, { + name: "data.0_1" +}); +db.getCollection("DNF").createIndex({ + id: NumberInt("1") +}, { + name: "id_1" +}); +db.getCollection("DNF").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("DNF").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); +db.getCollection("DNF").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("DNF").createIndex({ + character_name: NumberInt("1") +}, { + name: "character_name_1" +}); +db.getCollection("DNF").createIndex({ + server_name: NumberInt("1") +}, { + name: "server_name_1" +}); +db.getCollection("DNF").createIndex({ + level: NumberInt("-1") +}, { + name: "level_-1" +}); + +// ---------------------------- +// Collection structure for KR_游戏_重叠用户 +// ---------------------------- +db.getCollection("KR_游戏_重叠用户").drop(); +db.createCollection("KR_游戏_重叠用户"); +db.getCollection("KR_游戏_重叠用户").createIndex({ + user_id: NumberInt("1") +}, { + name: "user_id_1" +}); +db.getCollection("KR_游戏_重叠用户").createIndex({ + user_value: NumberInt("1") +}, { + name: "user_value_1" +}); +db.getCollection("KR_游戏_重叠用户").createIndex({ + overlap_count: NumberInt("1") +}, { + name: "overlap_count_1" +}); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 游戏语音ispeak_cn +// ---------------------------- +db.getCollection("游戏语音ispeak_cn").drop(); +db.createCollection("游戏语音ispeak_cn"); +db.getCollection("游戏语音ispeak_cn").createIndex({ + username: NumberInt("1") +}, { + name: "username_1" +}); +db.getCollection("游戏语音ispeak_cn").createIndex({ + email: NumberInt("1") +}, { + name: "email_1" +}); diff --git a/数据库/KR_腾讯.js b/数据库/KR_腾讯.js new file mode 100644 index 0000000..7514a11 --- /dev/null +++ b/数据库/KR_腾讯.js @@ -0,0 +1,1136 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_腾讯 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:44 +*/ + + +// ---------------------------- +// Collection structure for IT族qq号(435999个群成员) +// ---------------------------- +db.getCollection("IT族qq号(435999个群成员)").drop(); +db.createCollection("IT族qq号(435999个群成员)"); + +// ---------------------------- +// Collection structure for IT族qq邮箱(435999个群成员) +// ---------------------------- +db.getCollection("IT族qq邮箱(435999个群成员)").drop(); +db.createCollection("IT族qq邮箱(435999个群成员)"); +db.getCollection("IT族qq邮箱(435999个群成员)").createIndex({ + "邮箱": NumberInt("1") +}, { + name: "idx_邮箱" +}); + +// ---------------------------- +// Collection structure for MBAqq号(48191个群成员) +// ---------------------------- +db.getCollection("MBAqq号(48191个群成员)").drop(); +db.createCollection("MBAqq号(48191个群成员)"); + +// ---------------------------- +// Collection structure for MBAqq邮箱(48191个群成员) +// ---------------------------- +db.getCollection("MBAqq邮箱(48191个群成员)").drop(); +db.createCollection("MBAqq邮箱(48191个群成员)"); +db.getCollection("MBAqq邮箱(48191个群成员)").createIndex({ + "邮箱": NumberInt("1") +}, { + name: "idx_邮箱" +}); + +// ---------------------------- +// Collection structure for QQ+手机 +// ---------------------------- +db.getCollection("QQ+手机").drop(); +db.createCollection("QQ+手机"); +db.getCollection("QQ+手机").createIndex({ + "省份": NumberInt("1") +}, { + name: "省份_1" +}); +db.getCollection("QQ+手机").createIndex({ + "手机号评分": NumberInt("1") +}, { + name: "手机号评分_1" +}); +db.getCollection("QQ+手机").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); + +// ---------------------------- +// Collection structure for QQ手机号数据 +// ---------------------------- +db.getCollection("QQ手机号数据").drop(); +db.createCollection("QQ手机号数据"); +db.getCollection("QQ手机号数据").createIndex({ + qq_number: NumberInt("1") +}, { + name: "qq_number_1", + background: true, + unique: true +}); + +// ---------------------------- +// Collection structure for it认证考试qq号(24416个群成员) +// ---------------------------- +db.getCollection("it认证考试qq号(24416个群成员)").drop(); +db.createCollection("it认证考试qq号(24416个群成员)"); + +// ---------------------------- +// Collection structure for it认证考试qq邮箱(24416个群成员) +// ---------------------------- +db.getCollection("it认证考试qq邮箱(24416个群成员)").drop(); +db.createCollection("it认证考试qq邮箱(24416个群成员)"); +db.getCollection("it认证考试qq邮箱(24416个群成员)").createIndex({ + "邮箱": NumberInt("1") +}, { + name: "idx_邮箱" +}); + +// ---------------------------- +// Collection structure for qq邮箱 +// ---------------------------- +db.getCollection("qq邮箱").drop(); +db.createCollection("qq邮箱"); + +// ---------------------------- +// Collection structure for shopping族qq号(16966个群成员) +// ---------------------------- +db.getCollection("shopping族qq号(16966个群成员)").drop(); +db.createCollection("shopping族qq号(16966个群成员)"); + +// ---------------------------- +// Collection structure for shopping族qq邮箱(16966个群成员) +// ---------------------------- +db.getCollection("shopping族qq邮箱(16966个群成员)").drop(); +db.createCollection("shopping族qq邮箱(16966个群成员)"); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 东风车主qq号(13605个群成员) +// ---------------------------- +db.getCollection("东风车主qq号(13605个群成员)").drop(); +db.createCollection("东风车主qq号(13605个群成员)"); + +// ---------------------------- +// Collection structure for 东风车主qq邮箱(13605个群成员) +// ---------------------------- +db.getCollection("东风车主qq邮箱(13605个群成员)").drop(); +db.createCollection("东风车主qq邮箱(13605个群成员)"); + +// ---------------------------- +// Collection structure for 中华车主qq号(11322个群成员) +// ---------------------------- +db.getCollection("中华车主qq号(11322个群成员)").drop(); +db.createCollection("中华车主qq号(11322个群成员)"); + +// ---------------------------- +// Collection structure for 中华车主qq邮箱(11322个群成员) +// ---------------------------- +db.getCollection("中华车主qq邮箱(11322个群成员)").drop(); +db.createCollection("中华车主qq邮箱(11322个群成员)"); + +// ---------------------------- +// Collection structure for 丽江旅游自助群 +// ---------------------------- +db.getCollection("丽江旅游自助群").drop(); +db.createCollection("丽江旅游自助群"); + +// ---------------------------- +// Collection structure for 会计考试qq号(146885个群成员) +// ---------------------------- +db.getCollection("会计考试qq号(146885个群成员)").drop(); +db.createCollection("会计考试qq号(146885个群成员)"); + +// ---------------------------- +// Collection structure for 会计考试qq邮箱(146885个群成员) +// ---------------------------- +db.getCollection("会计考试qq邮箱(146885个群成员)").drop(); +db.createCollection("会计考试qq邮箱(146885个群成员)"); + +// ---------------------------- +// Collection structure for 儿童教育qq号码(6847个群成员) +// ---------------------------- +db.getCollection("儿童教育qq号码(6847个群成员)").drop(); +db.createCollection("儿童教育qq号码(6847个群成员)"); + +// ---------------------------- +// Collection structure for 儿童教育qq邮箱(6847个群成员) +// ---------------------------- +db.getCollection("儿童教育qq邮箱(6847个群成员)").drop(); +db.createCollection("儿童教育qq邮箱(6847个群成员)"); + +// ---------------------------- +// Collection structure for 公务员考试qq号(225647个群成员) +// ---------------------------- +db.getCollection("公务员考试qq号(225647个群成员)").drop(); +db.createCollection("公务员考试qq号(225647个群成员)"); + +// ---------------------------- +// Collection structure for 公务员考试qq邮箱(225647个群成员) +// ---------------------------- +db.getCollection("公务员考试qq邮箱(225647个群成员)").drop(); +db.createCollection("公务员考试qq邮箱(225647个群成员)"); + +// ---------------------------- +// Collection structure for 公司销售、培训、内部群qq号(404335个群成员) +// ---------------------------- +db.getCollection("公司销售、培训、内部群qq号(404335个群成员)").drop(); +db.createCollection("公司销售、培训、内部群qq号(404335个群成员)"); + +// ---------------------------- +// Collection structure for 公司销售、培训、内部群qq邮箱(404335个群成员) +// ---------------------------- +db.getCollection("公司销售、培训、内部群qq邮箱(404335个群成员)").drop(); +db.createCollection("公司销售、培训、内部群qq邮箱(404335个群成员)"); + +// ---------------------------- +// Collection structure for 其他旅游qq号(467863个群成员) +// ---------------------------- +db.getCollection("其他旅游qq号(467863个群成员)").drop(); +db.createCollection("其他旅游qq号(467863个群成员)"); + +// ---------------------------- +// Collection structure for 其他旅游qq邮箱(467863个群成员) +// ---------------------------- +db.getCollection("其他旅游qq邮箱(467863个群成员)").drop(); +db.createCollection("其他旅游qq邮箱(467863个群成员)"); + +// ---------------------------- +// Collection structure for 减肥qq +// ---------------------------- +db.getCollection("减肥qq").drop(); +db.createCollection("减肥qq"); + +// ---------------------------- +// Collection structure for 别克车主qq号(22192个群成员) +// ---------------------------- +db.getCollection("别克车主qq号(22192个群成员)").drop(); +db.createCollection("别克车主qq号(22192个群成员)"); + +// ---------------------------- +// Collection structure for 别克车主qq邮箱(22192个群成员) +// ---------------------------- +db.getCollection("别克车主qq邮箱(22192个群成员)").drop(); +db.createCollection("别克车主qq邮箱(22192个群成员)"); + +// ---------------------------- +// Collection structure for 动漫qq号(586505个群成员) +// ---------------------------- +db.getCollection("动漫qq号(586505个群成员)").drop(); +db.createCollection("动漫qq号(586505个群成员)"); + +// ---------------------------- +// Collection structure for 动漫qq邮箱(586505个群成员) +// ---------------------------- +db.getCollection("动漫qq邮箱(586505个群成员)").drop(); +db.createCollection("动漫qq邮箱(586505个群成员)"); + +// ---------------------------- +// Collection structure for 动漫游戏qq号(4677个群成员) +// ---------------------------- +db.getCollection("动漫游戏qq号(4677个群成员)").drop(); +db.createCollection("动漫游戏qq号(4677个群成员)"); + +// ---------------------------- +// Collection structure for 动漫游戏qq邮箱(4677个群成员) +// ---------------------------- +db.getCollection("动漫游戏qq邮箱(4677个群成员)").drop(); +db.createCollection("动漫游戏qq邮箱(4677个群成员)"); + +// ---------------------------- +// Collection structure for 化妆qq号码(172823个群成员) +// ---------------------------- +db.getCollection("化妆qq号码(172823个群成员)").drop(); +db.createCollection("化妆qq号码(172823个群成员)"); + +// ---------------------------- +// Collection structure for 化妆qq邮箱(172823个群成员) +// ---------------------------- +db.getCollection("化妆qq邮箱(172823个群成员)").drop(); +db.createCollection("化妆qq邮箱(172823个群成员)"); + +// ---------------------------- +// Collection structure for 化妆品qq号(80714个群成员) +// ---------------------------- +db.getCollection("化妆品qq号(80714个群成员)").drop(); +db.createCollection("化妆品qq号(80714个群成员)"); + +// ---------------------------- +// Collection structure for 化妆品qq邮箱(80714个群成员) +// ---------------------------- +db.getCollection("化妆品qq邮箱(80714个群成员)").drop(); +db.createCollection("化妆品qq邮箱(80714个群成员)"); + +// ---------------------------- +// Collection structure for 单机游戏qq号码(167004个群成员) +// ---------------------------- +db.getCollection("单机游戏qq号码(167004个群成员)").drop(); +db.createCollection("单机游戏qq号码(167004个群成员)"); + +// ---------------------------- +// Collection structure for 单机游戏qq邮箱(167004个群成员) +// ---------------------------- +db.getCollection("单机游戏qq邮箱(167004个群成员)").drop(); +db.createCollection("单机游戏qq邮箱(167004个群成员)"); + +// ---------------------------- +// Collection structure for 古董收藏qq号(2617个群成员) +// ---------------------------- +db.getCollection("古董收藏qq号(2617个群成员)").drop(); +db.createCollection("古董收藏qq号(2617个群成员)"); + +// ---------------------------- +// Collection structure for 古董收藏qq邮箱(2617个群成员) +// ---------------------------- +db.getCollection("古董收藏qq邮箱(2617个群成员)").drop(); +db.createCollection("古董收藏qq邮箱(2617个群成员)"); + +// ---------------------------- +// Collection structure for 司法考试qq号(90796个群成员) +// ---------------------------- +db.getCollection("司法考试qq号(90796个群成员)").drop(); +db.createCollection("司法考试qq号(90796个群成员)"); + +// ---------------------------- +// Collection structure for 司法考试qq邮箱(90796个群成员) +// ---------------------------- +db.getCollection("司法考试qq邮箱(90796个群成员)").drop(); +db.createCollection("司法考试qq邮箱(90796个群成员)"); + +// ---------------------------- +// Collection structure for 吉利车主qq号(14246个群成员) +// ---------------------------- +db.getCollection("吉利车主qq号(14246个群成员)").drop(); +db.createCollection("吉利车主qq号(14246个群成员)"); + +// ---------------------------- +// Collection structure for 吉利车主qq邮箱(14246个群成员) +// ---------------------------- +db.getCollection("吉利车主qq邮箱(14246个群成员)").drop(); +db.createCollection("吉利车主qq邮箱(14246个群成员)"); + +// ---------------------------- +// Collection structure for 同城交友qq号码(2391578个群成员) +// ---------------------------- +db.getCollection("同城交友qq号码(2391578个群成员)").drop(); +db.createCollection("同城交友qq号码(2391578个群成员)"); + +// ---------------------------- +// Collection structure for 同城交友qq邮箱(2391578个群成员) +// ---------------------------- +db.getCollection("同城交友qq邮箱(2391578个群成员)").drop(); +db.createCollection("同城交友qq邮箱(2391578个群成员)"); + +// ---------------------------- +// Collection structure for 周六登山协会9群 +// ---------------------------- +db.getCollection("周六登山协会9群").drop(); +db.createCollection("周六登山协会9群"); + +// ---------------------------- +// Collection structure for 在路上户外-休闲-旅游 +// ---------------------------- +db.getCollection("在路上户外-休闲-旅游").drop(); +db.createCollection("在路上户外-休闲-旅游"); + +// ---------------------------- +// Collection structure for 天津778单车俱乐部 +// ---------------------------- +db.getCollection("天津778单车俱乐部").drop(); +db.createCollection("天津778单车俱乐部"); + +// ---------------------------- +// Collection structure for 天津e游人-远离喧嚣群 +// ---------------------------- +db.getCollection("天津e游人-远离喧嚣群").drop(); +db.createCollection("天津e游人-远离喧嚣群"); + +// ---------------------------- +// Collection structure for 天津快乐自驾1 +// ---------------------------- +db.getCollection("天津快乐自驾1").drop(); +db.createCollection("天津快乐自驾1"); + +// ---------------------------- +// Collection structure for 天津户外开心驴群 +// ---------------------------- +db.getCollection("天津户外开心驴群").drop(); +db.createCollection("天津户外开心驴群"); + +// ---------------------------- +// Collection structure for 天津户外旅游安途社 +// ---------------------------- +db.getCollection("天津户外旅游安途社").drop(); +db.createCollection("天津户外旅游安途社"); + +// ---------------------------- +// Collection structure for 天津旅游 +// ---------------------------- +db.getCollection("天津旅游").drop(); +db.createCollection("天津旅游"); + +// ---------------------------- +// Collection structure for 天津滨海驴友快乐营 +// ---------------------------- +db.getCollection("天津滨海驴友快乐营").drop(); +db.createCollection("天津滨海驴友快乐营"); + +// ---------------------------- +// Collection structure for 天津驴友小窝 +// ---------------------------- +db.getCollection("天津驴友小窝").drop(); +db.createCollection("天津驴友小窝"); + +// ---------------------------- +// Collection structure for 天津驴社车友俱乐部 +// ---------------------------- +db.getCollection("天津驴社车友俱乐部").drop(); +db.createCollection("天津驴社车友俱乐部"); + +// ---------------------------- +// Collection structure for 天津骑行 +// ---------------------------- +db.getCollection("天津骑行").drop(); +db.createCollection("天津骑行"); + +// ---------------------------- +// Collection structure for 奇瑞车主qq号(33309个群成员) +// ---------------------------- +db.getCollection("奇瑞车主qq号(33309个群成员)").drop(); +db.createCollection("奇瑞车主qq号(33309个群成员)"); + +// ---------------------------- +// Collection structure for 奇瑞车主qq邮箱(33309个群成员) +// ---------------------------- +db.getCollection("奇瑞车主qq邮箱(33309个群成员)").drop(); +db.createCollection("奇瑞车主qq邮箱(33309个群成员)"); + +// ---------------------------- +// Collection structure for 奔腾车主qq号(5401个群成员) +// ---------------------------- +db.getCollection("奔腾车主qq号(5401个群成员)").drop(); +db.createCollection("奔腾车主qq号(5401个群成员)"); + +// ---------------------------- +// Collection structure for 奔腾车主qq邮箱(5401个群成员) +// ---------------------------- +db.getCollection("奔腾车主qq邮箱(5401个群成员)").drop(); +db.createCollection("奔腾车主qq邮箱(5401个群成员)"); + +// ---------------------------- +// Collection structure for 奔驰车主qq号(3782个群成员) +// ---------------------------- +db.getCollection("奔驰车主qq号(3782个群成员)").drop(); +db.createCollection("奔驰车主qq号(3782个群成员)"); + +// ---------------------------- +// Collection structure for 奔驰车主qq邮箱(3782个群成员) +// ---------------------------- +db.getCollection("奔驰车主qq邮箱(3782个群成员)").drop(); +db.createCollection("奔驰车主qq邮箱(3782个群成员)"); + +// ---------------------------- +// Collection structure for 奥迪车主qq号(28670个群成员) +// ---------------------------- +db.getCollection("奥迪车主qq号(28670个群成员)").drop(); +db.createCollection("奥迪车主qq号(28670个群成员)"); + +// ---------------------------- +// Collection structure for 奥迪车主qq邮箱(28670个群成员) +// ---------------------------- +db.getCollection("奥迪车主qq邮箱(28670个群成员)").drop(); +db.createCollection("奥迪车主qq邮箱(28670个群成员)"); + +// ---------------------------- +// Collection structure for 女装qq号码(58223个群成员) +// ---------------------------- +db.getCollection("女装qq号码(58223个群成员)").drop(); +db.createCollection("女装qq号码(58223个群成员)"); + +// ---------------------------- +// Collection structure for 女装qq邮箱(58223个群成员) +// ---------------------------- +db.getCollection("女装qq邮箱(58223个群成员)").drop(); +db.createCollection("女装qq邮箱(58223个群成员)"); + +// ---------------------------- +// Collection structure for 婴幼宝贝qq号(52111个群成员) +// ---------------------------- +db.getCollection("婴幼宝贝qq号(52111个群成员)").drop(); +db.createCollection("婴幼宝贝qq号(52111个群成员)"); + +// ---------------------------- +// Collection structure for 婴幼宝贝qq邮箱(52111个群成员) +// ---------------------------- +db.getCollection("婴幼宝贝qq邮箱(52111个群成员)").drop(); +db.createCollection("婴幼宝贝qq邮箱(52111个群成员)"); + +// ---------------------------- +// Collection structure for 宝马车主qq号(22860个群成员) +// ---------------------------- +db.getCollection("宝马车主qq号(22860个群成员)").drop(); +db.createCollection("宝马车主qq号(22860个群成员)"); + +// ---------------------------- +// Collection structure for 宝马车主qq邮箱(22860个群成员) +// ---------------------------- +db.getCollection("宝马车主qq邮箱(22860个群成员)").drop(); +db.createCollection("宝马车主qq邮箱(22860个群成员)"); + +// ---------------------------- +// Collection structure for 宠物qq号(210501个群成员) +// ---------------------------- +db.getCollection("宠物qq号(210501个群成员)").drop(); +db.createCollection("宠物qq号(210501个群成员)"); + +// ---------------------------- +// Collection structure for 宠物qq邮箱(210501个群成员) +// ---------------------------- +db.getCollection("宠物qq邮箱(210501个群成员)").drop(); +db.createCollection("宠物qq邮箱(210501个群成员)"); + +// ---------------------------- +// Collection structure for 家具、日用品qq号(21324个群成员) +// ---------------------------- +db.getCollection("家具、日用品qq号(21324个群成员)").drop(); +db.createCollection("家具、日用品qq号(21324个群成员)"); + +// ---------------------------- +// Collection structure for 家具、日用品qq邮箱(21324个群成员) +// ---------------------------- +db.getCollection("家具、日用品qq邮箱(21324个群成员)").drop(); +db.createCollection("家具、日用品qq邮箱(21324个群成员)"); + +// ---------------------------- +// Collection structure for 家用电子qq号(56548个群成员) +// ---------------------------- +db.getCollection("家用电子qq号(56548个群成员)").drop(); +db.createCollection("家用电子qq号(56548个群成员)"); + +// ---------------------------- +// Collection structure for 家用电子qq邮箱(56548个群成员) +// ---------------------------- +db.getCollection("家用电子qq邮箱(56548个群成员)").drop(); +db.createCollection("家用电子qq邮箱(56548个群成员)"); + +// ---------------------------- +// Collection structure for 工艺品qq号(1664个群成员) +// ---------------------------- +db.getCollection("工艺品qq号(1664个群成员)").drop(); +db.createCollection("工艺品qq号(1664个群成员)"); + +// ---------------------------- +// Collection structure for 工艺品qq邮箱(1664个群成员) +// ---------------------------- +db.getCollection("工艺品qq邮箱(1664个群成员)").drop(); +db.createCollection("工艺品qq邮箱(1664个群成员)"); + +// ---------------------------- +// Collection structure for 市场营销qq号(283622个群成员) +// ---------------------------- +db.getCollection("市场营销qq号(283622个群成员)").drop(); +db.createCollection("市场营销qq号(283622个群成员)"); + +// ---------------------------- +// Collection structure for 市场营销qq邮箱(283622个群成员) +// ---------------------------- +db.getCollection("市场营销qq邮箱(283622个群成员)").drop(); +db.createCollection("市场营销qq邮箱(283622个群成员)"); + +// ---------------------------- +// Collection structure for 庞大车友俱乐部2群 +// ---------------------------- +db.getCollection("庞大车友俱乐部2群").drop(); +db.createCollection("庞大车友俱乐部2群"); + +// ---------------------------- +// Collection structure for 律师qq号(87181个群成员) +// ---------------------------- +db.getCollection("律师qq号(87181个群成员)").drop(); +db.createCollection("律师qq号(87181个群成员)"); + +// ---------------------------- +// Collection structure for 律师qq邮箱(87181个群成员) +// ---------------------------- +db.getCollection("律师qq邮箱(87181个群成员)").drop(); +db.createCollection("律师qq邮箱(87181个群成员)"); + +// ---------------------------- +// Collection structure for 怪兽美食-程度自驾游 +// ---------------------------- +db.getCollection("怪兽美食-程度自驾游").drop(); +db.createCollection("怪兽美食-程度自驾游"); + +// ---------------------------- +// Collection structure for 房地产qq号(96087个群成员) +// ---------------------------- +db.getCollection("房地产qq号(96087个群成员)").drop(); +db.createCollection("房地产qq号(96087个群成员)"); + +// ---------------------------- +// Collection structure for 房地产qq邮箱(96087个群成员) +// ---------------------------- +db.getCollection("房地产qq邮箱(96087个群成员)").drop(); +db.createCollection("房地产qq邮箱(96087个群成员)"); + +// ---------------------------- +// Collection structure for 手机qq号码(226868个群成员) +// ---------------------------- +db.getCollection("手机qq号码(226868个群成员)").drop(); +db.createCollection("手机qq号码(226868个群成员)"); + +// ---------------------------- +// Collection structure for 手机qq邮箱(226868个群成员) +// ---------------------------- +db.getCollection("手机qq邮箱(226868个群成员)").drop(); +db.createCollection("手机qq邮箱(226868个群成员)"); + +// ---------------------------- +// Collection structure for 打工一族qq号(110146个群成员) +// ---------------------------- +db.getCollection("打工一族qq号(110146个群成员)").drop(); +db.createCollection("打工一族qq号(110146个群成员)"); + +// ---------------------------- +// Collection structure for 打工一族qq邮箱(110146个群成员) +// ---------------------------- +db.getCollection("打工一族qq邮箱(110146个群成员)").drop(); +db.createCollection("打工一族qq邮箱(110146个群成员)"); + +// ---------------------------- +// Collection structure for 探险猎奇qq号(55838个群成员) +// ---------------------------- +db.getCollection("探险猎奇qq号(55838个群成员)").drop(); +db.createCollection("探险猎奇qq号(55838个群成员)"); + +// ---------------------------- +// Collection structure for 探险猎奇qq邮箱(55838个群成员) +// ---------------------------- +db.getCollection("探险猎奇qq邮箱(55838个群成员)").drop(); +db.createCollection("探险猎奇qq邮箱(55838个群成员)"); + +// ---------------------------- +// Collection structure for 摄影qq邮箱 +// ---------------------------- +db.getCollection("摄影qq邮箱").drop(); +db.createCollection("摄影qq邮箱"); + +// ---------------------------- +// Collection structure for 摄影qq邮箱(14618个群成员) +// ---------------------------- +db.getCollection("摄影qq邮箱(14618个群成员)").drop(); +db.createCollection("摄影qq邮箱(14618个群成员)"); + +// ---------------------------- +// Collection structure for 摄影玩家qq号(125333个群成员) +// ---------------------------- +db.getCollection("摄影玩家qq号(125333个群成员)").drop(); +db.createCollection("摄影玩家qq号(125333个群成员)"); + +// ---------------------------- +// Collection structure for 摄影玩家qq邮箱(125333个群成员) +// ---------------------------- +db.getCollection("摄影玩家qq邮箱(125333个群成员)").drop(); +db.createCollection("摄影玩家qq邮箱(125333个群成员)"); + +// ---------------------------- +// Collection structure for 新东方考试qq号(27781个群成员) +// ---------------------------- +db.getCollection("新东方考试qq号(27781个群成员)").drop(); +db.createCollection("新东方考试qq号(27781个群成员)"); + +// ---------------------------- +// Collection structure for 新东方考试qq邮箱(27781个群成员) +// ---------------------------- +db.getCollection("新东方考试qq邮箱(27781个群成员)").drop(); +db.createCollection("新东方考试qq邮箱(27781个群成员)"); + +// ---------------------------- +// Collection structure for 旅游 +// ---------------------------- +db.getCollection("旅游").drop(); +db.createCollection("旅游"); + +// ---------------------------- +// Collection structure for 旅游qq邮箱比较全的 +// ---------------------------- +db.getCollection("旅游qq邮箱比较全的").drop(); +db.createCollection("旅游qq邮箱比较全的"); + +// ---------------------------- +// Collection structure for 旅游美食 +// ---------------------------- +db.getCollection("旅游美食").drop(); +db.createCollection("旅游美食"); + +// ---------------------------- +// Collection structure for 早教qq号码(33956个群成员) +// ---------------------------- +db.getCollection("早教qq号码(33956个群成员)").drop(); +db.createCollection("早教qq号码(33956个群成员)"); + +// ---------------------------- +// Collection structure for 早教qq邮箱(33956个群成员) +// ---------------------------- +db.getCollection("早教qq邮箱(33956个群成员)").drop(); +db.createCollection("早教qq邮箱(33956个群成员)"); + +// ---------------------------- +// Collection structure for 景点qq号(241890个群成员) +// ---------------------------- +db.getCollection("景点qq号(241890个群成员)").drop(); +db.createCollection("景点qq号(241890个群成员)"); + +// ---------------------------- +// Collection structure for 景点qq邮箱(241890个群成员) +// ---------------------------- +db.getCollection("景点qq邮箱(241890个群成员)").drop(); +db.createCollection("景点qq邮箱(241890个群成员)"); + +// ---------------------------- +// Collection structure for 朋友圈-天津自助游 +// ---------------------------- +db.getCollection("朋友圈-天津自助游").drop(); +db.createCollection("朋友圈-天津自助游"); + +// ---------------------------- +// Collection structure for 本田车主qq号(19147个群成员) +// ---------------------------- +db.getCollection("本田车主qq号(19147个群成员)").drop(); +db.createCollection("本田车主qq号(19147个群成员)"); + +// ---------------------------- +// Collection structure for 本田车主qq邮箱(19147个群成员) +// ---------------------------- +db.getCollection("本田车主qq邮箱(19147个群成员)").drop(); +db.createCollection("本田车主qq邮箱(19147个群成员)"); + +// ---------------------------- +// Collection structure for 求职qq号(107317个群成员) +// ---------------------------- +db.getCollection("求职qq号(107317个群成员)").drop(); +db.createCollection("求职qq号(107317个群成员)"); + +// ---------------------------- +// Collection structure for 求职qq邮箱(107317个群成员) +// ---------------------------- +db.getCollection("求职qq邮箱(107317个群成员)").drop(); +db.createCollection("求职qq邮箱(107317个群成员)"); + +// ---------------------------- +// Collection structure for 汽车交易群qq号(76463个群成员) +// ---------------------------- +db.getCollection("汽车交易群qq号(76463个群成员)").drop(); +db.createCollection("汽车交易群qq号(76463个群成员)"); + +// ---------------------------- +// Collection structure for 汽车交易群qq邮箱(76463个群成员) +// ---------------------------- +db.getCollection("汽车交易群qq邮箱(76463个群成员)").drop(); +db.createCollection("汽车交易群qq邮箱(76463个群成员)"); + +// ---------------------------- +// Collection structure for 海马车主qq号(7782个群成员) +// ---------------------------- +db.getCollection("海马车主qq号(7782个群成员)").drop(); +db.createCollection("海马车主qq号(7782个群成员)"); + +// ---------------------------- +// Collection structure for 海马车主qq邮箱(7782个群成员) +// ---------------------------- +db.getCollection("海马车主qq邮箱(7782个群成员)").drop(); +db.createCollection("海马车主qq邮箱(7782个群成员)"); + +// ---------------------------- +// Collection structure for 游多多天津群 +// ---------------------------- +db.getCollection("游多多天津群").drop(); +db.createCollection("游多多天津群"); + +// ---------------------------- +// Collection structure for 游戏交易qq号码(17328个群成员) +// ---------------------------- +db.getCollection("游戏交易qq号码(17328个群成员)").drop(); +db.createCollection("游戏交易qq号码(17328个群成员)"); + +// ---------------------------- +// Collection structure for 游戏交易qq邮箱(17328个群成员) +// ---------------------------- +db.getCollection("游戏交易qq邮箱(17328个群成员)").drop(); +db.createCollection("游戏交易qq邮箱(17328个群成员)"); + +// ---------------------------- +// Collection structure for 激情旅游 +// ---------------------------- +db.getCollection("激情旅游").drop(); +db.createCollection("激情旅游"); + +// ---------------------------- +// Collection structure for 玩转旅游 +// ---------------------------- +db.getCollection("玩转旅游").drop(); +db.createCollection("玩转旅游"); + +// ---------------------------- +// Collection structure for 珠宝饰品qq号码(35829个群成员) +// ---------------------------- +db.getCollection("珠宝饰品qq号码(35829个群成员)").drop(); +db.createCollection("珠宝饰品qq号码(35829个群成员)"); + +// ---------------------------- +// Collection structure for 珠宝饰品qq邮箱(35829个群成员) +// ---------------------------- +db.getCollection("珠宝饰品qq邮箱(35829个群成员)").drop(); +db.createCollection("珠宝饰品qq邮箱(35829个群成员)"); + +// ---------------------------- +// Collection structure for 电脑qq号码(213718个群成员) +// ---------------------------- +db.getCollection("电脑qq号码(213718个群成员)").drop(); +db.createCollection("电脑qq号码(213718个群成员)"); + +// ---------------------------- +// Collection structure for 电脑qq邮箱(213718个群成员) +// ---------------------------- +db.getCollection("电脑qq邮箱(213718个群成员)").drop(); +db.createCollection("电脑qq邮箱(213718个群成员)"); + +// ---------------------------- +// Collection structure for 电脑技术交流qq号(679419个群成员) +// ---------------------------- +db.getCollection("电脑技术交流qq号(679419个群成员)").drop(); +db.createCollection("电脑技术交流qq号(679419个群成员)"); + +// ---------------------------- +// Collection structure for 电脑技术交流qq邮箱(679419个群成员) +// ---------------------------- +db.getCollection("电脑技术交流qq邮箱(679419个群成员)").drop(); +db.createCollection("电脑技术交流qq邮箱(679419个群成员)"); + +// ---------------------------- +// Collection structure for 男士产品qq号(29580个群成员) +// ---------------------------- +db.getCollection("男士产品qq号(29580个群成员)").drop(); +db.createCollection("男士产品qq号(29580个群成员)"); + +// ---------------------------- +// Collection structure for 男士产品qq邮箱(29580个群成员) +// ---------------------------- +db.getCollection("男士产品qq邮箱(29580个群成员)").drop(); +db.createCollection("男士产品qq邮箱(29580个群成员)"); + +// ---------------------------- +// Collection structure for 直销qq号码(114392个群成员) +// ---------------------------- +db.getCollection("直销qq号码(114392个群成员)").drop(); +db.createCollection("直销qq号码(114392个群成员)"); + +// ---------------------------- +// Collection structure for 直销qq邮箱(114392个群成员) +// ---------------------------- +db.getCollection("直销qq邮箱(114392个群成员)").drop(); +db.createCollection("直销qq邮箱(114392个群成员)"); + +// ---------------------------- +// Collection structure for 硬件交流qq号(66270个群成员) +// ---------------------------- +db.getCollection("硬件交流qq号(66270个群成员)").drop(); +db.createCollection("硬件交流qq号(66270个群成员)"); + +// ---------------------------- +// Collection structure for 硬件交流qq邮箱(66270个群成员) +// ---------------------------- +db.getCollection("硬件交流qq邮箱(66270个群成员)").drop(); +db.createCollection("硬件交流qq邮箱(66270个群成员)"); + +// ---------------------------- +// Collection structure for 站长qq号(305613个群成员) +// ---------------------------- +db.getCollection("站长qq号(305613个群成员)").drop(); +db.createCollection("站长qq号(305613个群成员)"); + +// ---------------------------- +// Collection structure for 站长qq邮箱(305613个群成员) +// ---------------------------- +db.getCollection("站长qq邮箱(305613个群成员)").drop(); +db.createCollection("站长qq邮箱(305613个群成员)"); + +// ---------------------------- +// Collection structure for 红旗车主qq号(1070个群成员) +// ---------------------------- +db.getCollection("红旗车主qq号(1070个群成员)").drop(); +db.createCollection("红旗车主qq号(1070个群成员)"); + +// ---------------------------- +// Collection structure for 红旗车主qq邮箱(1070个群成员) +// ---------------------------- +db.getCollection("红旗车主qq邮箱(1070个群成员)").drop(); +db.createCollection("红旗车主qq邮箱(1070个群成员)"); + +// ---------------------------- +// Collection structure for 网赚qq号码(229030个群成员) +// ---------------------------- +db.getCollection("网赚qq号码(229030个群成员)").drop(); +db.createCollection("网赚qq号码(229030个群成员)"); + +// ---------------------------- +// Collection structure for 网赚qq邮箱(229030个群成员) +// ---------------------------- +db.getCollection("网赚qq邮箱(229030个群成员)").drop(); +db.createCollection("网赚qq邮箱(229030个群成员)"); + +// ---------------------------- +// Collection structure for 美容护肤类qq群成员 +// ---------------------------- +db.getCollection("美容护肤类qq群成员").drop(); +db.createCollection("美容护肤类qq群成员"); + +// ---------------------------- +// Collection structure for 美食特产qq号码(131001个群成员) +// ---------------------------- +db.getCollection("美食特产qq号码(131001个群成员)").drop(); +db.createCollection("美食特产qq号码(131001个群成员)"); + +// ---------------------------- +// Collection structure for 翱翔天津户外摄影群 +// ---------------------------- +db.getCollection("翱翔天津户外摄影群").drop(); +db.createCollection("翱翔天津户外摄影群"); + +// ---------------------------- +// Collection structure for 考研qq号(335617个群成员) +// ---------------------------- +db.getCollection("考研qq号(335617个群成员)").drop(); +db.createCollection("考研qq号(335617个群成员)"); + +// ---------------------------- +// Collection structure for 考研qq邮箱(335617个群成员) +// ---------------------------- +db.getCollection("考研qq邮箱(335617个群成员)").drop(); +db.createCollection("考研qq邮箱(335617个群成员)"); + +// ---------------------------- +// Collection structure for 职业广告人qq号(503382个群成员) +// ---------------------------- +db.getCollection("职业广告人qq号(503382个群成员)").drop(); +db.createCollection("职业广告人qq号(503382个群成员)"); + +// ---------------------------- +// Collection structure for 职业广告人qq邮箱(503382个群成员) +// ---------------------------- +db.getCollection("职业广告人qq邮箱(503382个群成员)").drop(); +db.createCollection("职业广告人qq邮箱(503382个群成员)"); + +// ---------------------------- +// Collection structure for 股票qq号(103489个群成员) +// ---------------------------- +db.getCollection("股票qq号(103489个群成员)").drop(); +db.createCollection("股票qq号(103489个群成员)"); + +// ---------------------------- +// Collection structure for 股票qq邮箱(103489个群成员) +// ---------------------------- +db.getCollection("股票qq邮箱(103489个群成员)").drop(); +db.createCollection("股票qq邮箱(103489个群成员)"); + +// ---------------------------- +// Collection structure for 自助游qq号(112553个群成员) +// ---------------------------- +db.getCollection("自助游qq号(112553个群成员)").drop(); +db.createCollection("自助游qq号(112553个群成员)"); + +// ---------------------------- +// Collection structure for 自助游qq邮箱(112553个群成员) +// ---------------------------- +db.getCollection("自助游qq邮箱(112553个群成员)").drop(); +db.createCollection("自助游qq邮箱(112553个群成员)"); + +// ---------------------------- +// Collection structure for 自驾游qq号(71983个群成员) +// ---------------------------- +db.getCollection("自驾游qq号(71983个群成员)").drop(); +db.createCollection("自驾游qq号(71983个群成员)"); + +// ---------------------------- +// Collection structure for 自驾游qq邮箱(71983个群成员) +// ---------------------------- +db.getCollection("自驾游qq邮箱(71983个群成员)").drop(); +db.createCollection("自驾游qq邮箱(71983个群成员)"); + +// ---------------------------- +// Collection structure for 英语四六级qq号(48901个群成员) +// ---------------------------- +db.getCollection("英语四六级qq号(48901个群成员)").drop(); +db.createCollection("英语四六级qq号(48901个群成员)"); + +// ---------------------------- +// Collection structure for 英语四六级qq邮箱(48901个群成员) +// ---------------------------- +db.getCollection("英语四六级qq邮箱(48901个群成员)").drop(); +db.createCollection("英语四六级qq邮箱(48901个群成员)"); + +// ---------------------------- +// Collection structure for 营销广告群qq号(92355个群成员) +// ---------------------------- +db.getCollection("营销广告群qq号(92355个群成员)").drop(); +db.createCollection("营销广告群qq号(92355个群成员)"); + +// ---------------------------- +// Collection structure for 装修qq号(256532个群成员) +// ---------------------------- +db.getCollection("装修qq号(256532个群成员)").drop(); +db.createCollection("装修qq号(256532个群成员)"); + +// ---------------------------- +// Collection structure for 装修qq邮箱(256532个群成员) +// ---------------------------- +db.getCollection("装修qq邮箱(256532个群成员)").drop(); +db.createCollection("装修qq邮箱(256532个群成员)"); + +// ---------------------------- +// Collection structure for 起亚车主qq号(7260个群成员) +// ---------------------------- +db.getCollection("起亚车主qq号(7260个群成员)").drop(); +db.createCollection("起亚车主qq号(7260个群成员)"); + +// ---------------------------- +// Collection structure for 起亚车主qq邮箱(7260个群成员) +// ---------------------------- +db.getCollection("起亚车主qq邮箱(7260个群成员)").drop(); +db.createCollection("起亚车主qq邮箱(7260个群成员)"); + +// ---------------------------- +// Collection structure for 越野车qq号码(48938个群成员) +// ---------------------------- +db.getCollection("越野车qq号码(48938个群成员)").drop(); +db.createCollection("越野车qq号码(48938个群成员)"); + +// ---------------------------- +// Collection structure for 越野车qq邮箱(48938个群成员) +// ---------------------------- +db.getCollection("越野车qq邮箱(48938个群成员)").drop(); +db.createCollection("越野车qq邮箱(48938个群成员)"); + +// ---------------------------- +// Collection structure for 运动鞋、运动服qq号(20662个群成员) +// ---------------------------- +db.getCollection("运动鞋、运动服qq号(20662个群成员)").drop(); +db.createCollection("运动鞋、运动服qq号(20662个群成员)"); + +// ---------------------------- +// Collection structure for 运动鞋、运动服qq邮箱(20662个群成员) +// ---------------------------- +db.getCollection("运动鞋、运动服qq邮箱(20662个群成员)").drop(); +db.createCollection("运动鞋、运动服qq邮箱(20662个群成员)"); + +// ---------------------------- +// Collection structure for 邮箱 +// ---------------------------- +db.getCollection("邮箱").drop(); +db.createCollection("邮箱"); + +// ---------------------------- +// Collection structure for 重庆旅游交流群(驴) +// ---------------------------- +db.getCollection("重庆旅游交流群(驴)").drop(); +db.createCollection("重庆旅游交流群(驴)"); + +// ---------------------------- +// Collection structure for 重庆渴乐户外自驾游 +// ---------------------------- +db.getCollection("重庆渴乐户外自驾游").drop(); +db.createCollection("重庆渴乐户外自驾游"); + +// ---------------------------- +// Collection structure for 金融专才qq号(114497个群成员) +// ---------------------------- +db.getCollection("金融专才qq号(114497个群成员)").drop(); +db.createCollection("金融专才qq号(114497个群成员)"); + +// ---------------------------- +// Collection structure for 金融专才qq邮箱(114497个群成员) +// ---------------------------- +db.getCollection("金融专才qq邮箱(114497个群成员)").drop(); +db.createCollection("金融专才qq邮箱(114497个群成员)"); + +// ---------------------------- +// Collection structure for 金融投资qq号码(191295个群成员) +// ---------------------------- +db.getCollection("金融投资qq号码(191295个群成员)").drop(); +db.createCollection("金融投资qq号码(191295个群成员)"); + +// ---------------------------- +// Collection structure for 金融投资qq邮箱(191295个群成员) +// ---------------------------- +db.getCollection("金融投资qq邮箱(191295个群成员)").drop(); +db.createCollection("金融投资qq邮箱(191295个群成员)"); + +// ---------------------------- +// Collection structure for 长丰车主qq号(1347个群成员) +// ---------------------------- +db.getCollection("长丰车主qq号(1347个群成员)").drop(); +db.createCollection("长丰车主qq号(1347个群成员)"); + +// ---------------------------- +// Collection structure for 长丰车主qq邮箱(1347个群成员) +// ---------------------------- +db.getCollection("长丰车主qq邮箱(1347个群成员)").drop(); +db.createCollection("长丰车主qq邮箱(1347个群成员)"); + +// ---------------------------- +// Collection structure for 雪铁龙车主qq号(7345个群成员) +// ---------------------------- +db.getCollection("雪铁龙车主qq号(7345个群成员)").drop(); +db.createCollection("雪铁龙车主qq号(7345个群成员)"); + +// ---------------------------- +// Collection structure for 雪铁龙车主qq邮箱(7345个群成员) +// ---------------------------- +db.getCollection("雪铁龙车主qq邮箱(7345个群成员)").drop(); +db.createCollection("雪铁龙车主qq邮箱(7345个群成员)"); + +// ---------------------------- +// Collection structure for 音响qq号码(12601个群成员) +// ---------------------------- +db.getCollection("音响qq号码(12601个群成员)").drop(); +db.createCollection("音响qq号码(12601个群成员)"); + +// ---------------------------- +// Collection structure for 音响qq邮箱(12601个群成员) +// ---------------------------- +db.getCollection("音响qq邮箱(12601个群成员)").drop(); +db.createCollection("音响qq邮箱(12601个群成员)"); + +// ---------------------------- +// Collection structure for 驴友qq号(258290个群成员) +// ---------------------------- +db.getCollection("驴友qq号(258290个群成员)").drop(); +db.createCollection("驴友qq号(258290个群成员)"); + +// ---------------------------- +// Collection structure for 驴友qq邮箱(258290个群成员) +// ---------------------------- +db.getCollection("驴友qq邮箱(258290个群成员)").drop(); +db.createCollection("驴友qq邮箱(258290个群成员)"); diff --git a/数据库/KR_酒店.js b/数据库/KR_酒店.js new file mode 100644 index 0000000..015af9b --- /dev/null +++ b/数据库/KR_酒店.js @@ -0,0 +1,79 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_酒店 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:17 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 如家汉庭 +// ---------------------------- +db.getCollection("如家汉庭").drop(); +db.createCollection("如家汉庭"); +db.getCollection("如家汉庭").createIndex({ + Mobile: NumberInt("1") +}, { + name: "Mobile_1" +}); + +// ---------------------------- +// Collection structure for 酒店开房记录_2013年8月_2000万 +// ---------------------------- +db.getCollection("酒店开房记录_2013年8月_2000万").drop(); +db.createCollection("酒店开房记录_2013年8月_2000万"); +db.getCollection("酒店开房记录_2013年8月_2000万").createIndex({ + name: NumberInt("1") +}, { + name: "name_1" +}); +db.getCollection("酒店开房记录_2013年8月_2000万").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("酒店开房记录_2013年8月_2000万").createIndex({ + id_card: NumberInt("1") +}, { + name: "id_card_1" +}); +db.getCollection("酒店开房记录_2013年8月_2000万").createIndex({ + mobile: NumberInt("1") +}, { + name: "mobile_1" +}); + +// ---------------------------- +// Collection structure for 酒店开房记录_2013年8月_2000万内 +// ---------------------------- +db.getCollection("酒店开房记录_2013年8月_2000万内").drop(); +db.createCollection("酒店开房记录_2013年8月_2000万内"); +db.getCollection("酒店开房记录_2013年8月_2000万内").createIndex({ + mobile: NumberInt("1") +}, { + name: "mobile_1" +}); + +// ---------------------------- +// Collection structure for 酒店开房记录_2013年8月_2000万内_备份 +// ---------------------------- +db.getCollection("酒店开房记录_2013年8月_2000万内_备份").drop(); +db.createCollection("酒店开房记录_2013年8月_2000万内_备份"); diff --git a/数据库/KR_销售额3000万元-5000万元企业名录.js b/数据库/KR_销售额3000万元-5000万元企业名录.js new file mode 100644 index 0000000..412c808 --- /dev/null +++ b/数据库/KR_销售额3000万元-5000万元企业名录.js @@ -0,0 +1,85 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_销售额3000万元-5000万元企业名录 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:21:17 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 企业名录 的副本 +// ---------------------------- +db.getCollection("企业名录 的副本").drop(); +db.createCollection("企业名录 的副本"); + +// ---------------------------- +// Collection structure for 企业规模代码 +// ---------------------------- +db.getCollection("企业规模代码").drop(); +db.createCollection("企业规模代码"); + +// ---------------------------- +// Collection structure for 控股情况代码 +// ---------------------------- +db.getCollection("控股情况代码").drop(); +db.createCollection("控股情况代码"); + +// ---------------------------- +// Collection structure for 机构类型代码 +// ---------------------------- +db.getCollection("机构类型代码").drop(); +db.createCollection("机构类型代码"); + +// ---------------------------- +// Collection structure for 经济类型代码 +// ---------------------------- +db.getCollection("经济类型代码").drop(); +db.createCollection("经济类型代码"); + +// ---------------------------- +// Collection structure for 营业收入代码 +// ---------------------------- +db.getCollection("营业收入代码").drop(); +db.createCollection("营业收入代码"); + +// ---------------------------- +// Collection structure for 行业代码 +// ---------------------------- +db.getCollection("行业代码").drop(); +db.createCollection("行业代码"); + +// ---------------------------- +// Collection structure for 行政区划代码 +// ---------------------------- +db.getCollection("行政区划代码").drop(); +db.createCollection("行政区划代码"); + +// ---------------------------- +// Collection structure for 销售额3000万元-5000万元企业名录 +// ---------------------------- +db.getCollection("销售额3000万元-5000万元企业名录").drop(); +db.createCollection("销售额3000万元-5000万元企业名录"); + +// ---------------------------- +// Collection structure for 隶属关系代码 +// ---------------------------- +db.getCollection("隶属关系代码").drop(); +db.createCollection("隶属关系代码"); diff --git a/数据库/KR_顺丰.js b/数据库/KR_顺丰.js new file mode 100644 index 0000000..532479c --- /dev/null +++ b/数据库/KR_顺丰.js @@ -0,0 +1,91 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_顺丰 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:20:28 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 顺丰快递数据 +// ---------------------------- +db.getCollection("顺丰快递数据").drop(); +db.createCollection("顺丰快递数据"); +db.getCollection("顺丰快递数据").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("顺丰快递数据").createIndex({ + province: NumberInt("1") +}, { + name: "province_1" +}); +db.getCollection("顺丰快递数据").createIndex({ + city: NumberInt("1") +}, { + name: "city_1" +}); +db.getCollection("顺丰快递数据").createIndex({ + province: NumberInt("1"), + city: NumberInt("1") +}, { + name: "province_1_city_1" +}); +db.getCollection("顺丰快递数据").createIndex({ + phone: NumberInt("1"), + province: NumberInt("1") +}, { + name: "phone_1_province_1" +}); + +// ---------------------------- +// Collection structure for 顺丰快递数据_tmpForCopy1 +// ---------------------------- +db.getCollection("顺丰快递数据_tmpForCopy1").drop(); +db.createCollection("顺丰快递数据_tmpForCopy1"); +db.getCollection("顺丰快递数据_tmpForCopy1").createIndex({ + phone: NumberInt("1") +}, { + name: "phone_1" +}); +db.getCollection("顺丰快递数据_tmpForCopy1").createIndex({ + province: NumberInt("1") +}, { + name: "province_1" +}); +db.getCollection("顺丰快递数据_tmpForCopy1").createIndex({ + city: NumberInt("1") +}, { + name: "city_1" +}); +db.getCollection("顺丰快递数据_tmpForCopy1").createIndex({ + province: NumberInt("1"), + city: NumberInt("1") +}, { + name: "province_1_city_1" +}); +db.getCollection("顺丰快递数据_tmpForCopy1").createIndex({ + phone: NumberInt("1"), + province: NumberInt("1") +}, { + name: "phone_1_province_1" +}); diff --git a/数据库/KR_香港在大陆投资企业名录.js b/数据库/KR_香港在大陆投资企业名录.js new file mode 100644 index 0000000..8e4c297 --- /dev/null +++ b/数据库/KR_香港在大陆投资企业名录.js @@ -0,0 +1,217 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_香港在大陆投资企业名录 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:21:07 +*/ + + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 上海 +// ---------------------------- +db.getCollection("上海").drop(); +db.createCollection("上海"); + +// ---------------------------- +// Collection structure for 云南 +// ---------------------------- +db.getCollection("云南").drop(); +db.createCollection("云南"); + +// ---------------------------- +// Collection structure for 内蒙 +// ---------------------------- +db.getCollection("内蒙").drop(); +db.createCollection("内蒙"); + +// ---------------------------- +// Collection structure for 北京 +// ---------------------------- +db.getCollection("北京").drop(); +db.createCollection("北京"); + +// ---------------------------- +// Collection structure for 吉林 +// ---------------------------- +db.getCollection("吉林").drop(); +db.createCollection("吉林"); + +// ---------------------------- +// Collection structure for 四川 +// ---------------------------- +db.getCollection("四川").drop(); +db.createCollection("四川"); + +// ---------------------------- +// Collection structure for 天津 +// ---------------------------- +db.getCollection("天津").drop(); +db.createCollection("天津"); + +// ---------------------------- +// Collection structure for 宁夏 +// ---------------------------- +db.getCollection("宁夏").drop(); +db.createCollection("宁夏"); + +// ---------------------------- +// Collection structure for 安徽 +// ---------------------------- +db.getCollection("安徽").drop(); +db.createCollection("安徽"); + +// ---------------------------- +// Collection structure for 山东 +// ---------------------------- +db.getCollection("山东").drop(); +db.createCollection("山东"); + +// ---------------------------- +// Collection structure for 山西 +// ---------------------------- +db.getCollection("山西").drop(); +db.createCollection("山西"); + +// ---------------------------- +// Collection structure for 广东 +// ---------------------------- +db.getCollection("广东").drop(); +db.createCollection("广东"); + +// ---------------------------- +// Collection structure for 广西 +// ---------------------------- +db.getCollection("广西").drop(); +db.createCollection("广西"); + +// ---------------------------- +// Collection structure for 新疆 +// ---------------------------- +db.getCollection("新疆").drop(); +db.createCollection("新疆"); + +// ---------------------------- +// Collection structure for 江苏 +// ---------------------------- +db.getCollection("江苏").drop(); +db.createCollection("江苏"); + +// ---------------------------- +// Collection structure for 江西 +// ---------------------------- +db.getCollection("江西").drop(); +db.createCollection("江西"); + +// ---------------------------- +// Collection structure for 河北 +// ---------------------------- +db.getCollection("河北").drop(); +db.createCollection("河北"); + +// ---------------------------- +// Collection structure for 河南 +// ---------------------------- +db.getCollection("河南").drop(); +db.createCollection("河南"); + +// ---------------------------- +// Collection structure for 浙江 +// ---------------------------- +db.getCollection("浙江").drop(); +db.createCollection("浙江"); + +// ---------------------------- +// Collection structure for 海南 +// ---------------------------- +db.getCollection("海南").drop(); +db.createCollection("海南"); + +// ---------------------------- +// Collection structure for 湖北 +// ---------------------------- +db.getCollection("湖北").drop(); +db.createCollection("湖北"); + +// ---------------------------- +// Collection structure for 湖南 +// ---------------------------- +db.getCollection("湖南").drop(); +db.createCollection("湖南"); + +// ---------------------------- +// Collection structure for 甘肃 +// ---------------------------- +db.getCollection("甘肃").drop(); +db.createCollection("甘肃"); + +// ---------------------------- +// Collection structure for 福建 +// ---------------------------- +db.getCollection("福建").drop(); +db.createCollection("福建"); + +// ---------------------------- +// Collection structure for 西藏 +// ---------------------------- +db.getCollection("西藏").drop(); +db.createCollection("西藏"); + +// ---------------------------- +// Collection structure for 贵州 +// ---------------------------- +db.getCollection("贵州").drop(); +db.createCollection("贵州"); + +// ---------------------------- +// Collection structure for 辽宁 +// ---------------------------- +db.getCollection("辽宁").drop(); +db.createCollection("辽宁"); + +// ---------------------------- +// Collection structure for 重庆 +// ---------------------------- +db.getCollection("重庆").drop(); +db.createCollection("重庆"); + +// ---------------------------- +// Collection structure for 陕西 +// ---------------------------- +db.getCollection("陕西").drop(); +db.createCollection("陕西"); + +// ---------------------------- +// Collection structure for 青海 +// ---------------------------- +db.getCollection("青海").drop(); +db.createCollection("青海"); + +// ---------------------------- +// Collection structure for 香港投资企业名录 +// ---------------------------- +db.getCollection("香港投资企业名录").drop(); +db.createCollection("香港投资企业名录"); + +// ---------------------------- +// Collection structure for 黑龙江 +// ---------------------------- +db.getCollection("黑龙江").drop(); +db.createCollection("黑龙江"); diff --git a/数据库/KR_魔兽世界.js b/数据库/KR_魔兽世界.js new file mode 100644 index 0000000..ff5dfe8 --- /dev/null +++ b/数据库/KR_魔兽世界.js @@ -0,0 +1,103 @@ +/* + Navicat Premium Data Transfer + + Source Server : 标签数据库 + Source Server Type : MongoDB + Source Server Version : 60025 (6.0.25) + Source Host : 192.168.2.6:27017 + Source Schema : KR_魔兽世界 + + Target Server Type : MongoDB + Target Server Version : 60025 (6.0.25) + File Encoding : 65001 + + Date: 19/11/2025 15:19:37 +*/ + + +// ---------------------------- +// Collection structure for elysn欧美_魔兽世界主题库 +// ---------------------------- +db.getCollection("elysn欧美_魔兽世界主题库").drop(); +db.createCollection("elysn欧美_魔兽世界主题库"); +db.getCollection("elysn欧美_魔兽世界主题库").createIndex({ + "账号": NumberInt("1") +}, { + name: "账号_1" +}); +db.getCollection("elysn欧美_魔兽世界主题库").createIndex({ + "密码": NumberInt("1") +}, { + name: "密码_1" +}); + +// ---------------------------- +// Collection structure for system.profile +// ---------------------------- +db.getCollection("system.profile").drop(); +db.createCollection("system.profile",{ + capped: true, + size: 1048576 +}); + +// ---------------------------- +// Collection structure for 网易2500W密正数据 +// ---------------------------- +db.getCollection("网易2500W密正数据").drop(); +db.createCollection("网易2500W密正数据"); +db.getCollection("网易2500W密正数据").createIndex({ + "账号": NumberInt("1") +}, { + name: "账号_1", + unique: true +}); + +// ---------------------------- +// Collection structure for 网易IS_game.sohu.com邮箱占90% +// ---------------------------- +db.getCollection("网易IS_game.sohu.com邮箱占90%").drop(); +db.createCollection("网易IS_game.sohu.com邮箱占90%"); + +// ---------------------------- +// Collection structure for 网易正确数据_已确认 +// ---------------------------- +db.getCollection("网易正确数据_已确认").drop(); +db.createCollection("网易正确数据_已确认"); +db.getCollection("网易正确数据_已确认").createIndex({ + "账号": NumberInt("1") +}, { + name: "账号_1", + background: true, + unique: true +}); + +// ---------------------------- +// Collection structure for 网易正确数据_空白数据 +// ---------------------------- +db.getCollection("网易正确数据_空白数据").drop(); +db.createCollection("网易正确数据_空白数据"); +db.getCollection("网易正确数据_空白数据").createIndex({ + "账号": NumberInt("1") +}, { + name: "idx_account", + background: true +}); +db.getCollection("网易正确数据_空白数据").createIndex({ + "密码": NumberInt("1") +}, { + name: "idx_password", + background: true +}); +db.getCollection("网易正确数据_空白数据").createIndex({ + "账号": NumberInt("1"), + "密码": NumberInt("1") +}, { + name: "idx_account_password", + background: true +}); + +// ---------------------------- +// Collection structure for 魔兽世界_3月库 +// ---------------------------- +db.getCollection("魔兽世界_3月库").drop(); +db.createCollection("魔兽世界_3月库"); diff --git a/数据库列表.md b/数据库列表.md new file mode 100644 index 0000000..2f1bc30 --- /dev/null +++ b/数据库列表.md @@ -0,0 +1,25 @@ +KR +KR_KR +KR_LinkedIn +KR_存客宝 +KR_存客宝_四表重构KR_KR版 +KR_国外 +KR_户口 +KR_京东 +KR_酒店 +KR_卡套私域 +KR_快递 +KR_魔兽世界 +KR_企业 +KR_企业名录 +KR_人才库 +KR_商城 +KR_手机 +KR_顺丰 +KR_淘宝 +KR_腾讯 +KR_投资 +KR_微博 +KR_香港在大陆投资企业名录 +KR_销售额3000万元-5000万元企业名录 +KR_游戏 \ No newline at end of file