可以的

This commit is contained in:
乘风
2026-01-04 12:19:39 +08:00
parent 75e276faaa
commit 3c4851b9ca
70 changed files with 9660 additions and 26 deletions

8
.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
/runtime
/.idea
/.vscode
/vendor
*.log
.env
/tests/tmp
/tests/.phpunit.result.cache

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 walkor<walkor@workerman.net> 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.

11
MCP/mcp.json Normal file
View File

@@ -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"
}
}
}
}

View File

@@ -0,0 +1,15 @@
# 账户密码
```
HOST 192.168.1.106
PORT 27017
ACCOUNTckb
DBNAMEckb
PASSWROD123456
```
==================
# 环境准备
需要安装一个全局环境否则无法运行
node版本为22.12.0
npm i mongodb-mcp-server -g

View File

@@ -1,37 +1,70 @@
# 数据中心
<div style="padding:18px;max-width: 1024px;margin:0 auto;background-color:#fff;color:#333">
<h1>webman</h1>
#### 介绍
Serverruntime
#### 软件架构
软件架构说明
基于<a href="https://www.workerman.net" target="__blank">workerman</a>开发的超高性能PHP框架
#### 安装教程
<h1>学习</h1>
1. xxxx
2. xxxx
3. xxxx
<ul>
<li>
<a href="https://www.workerman.net/webman" target="__blank">主页 / Home page</a>
</li>
<li>
<a href="https://webman.workerman.net" target="__blank">文档 / Document</a>
</li>
<li>
<a href="https://www.workerman.net/doc/webman/install.html" target="__blank">安装 / Install</a>
</li>
<li>
<a href="https://www.workerman.net/questions" target="__blank">问答 / Questions</a>
</li>
<li>
<a href="https://www.workerman.net/apps" target="__blank">市场 / Apps</a>
</li>
<li>
<a href="https://www.workerman.net/sponsor" target="__blank">赞助 / Sponsors</a>
</li>
<li>
<a href="https://www.workerman.net/doc/webman/thanks.html" target="__blank">致谢 / Thanks</a>
</li>
</ul>
#### 使用说明
<div style="float:left;padding-bottom:30px;">
1. xxxx
2. xxxx
3. xxxx
<h1>赞助商</h1>
#### 参与贡献
<h4>特别赞助</h4>
<a href="https://www.crmeb.com/?form=workerman" target="__blank">
<img src="https://www.workerman.net/img/sponsors/6429/20230719111500.svg" width="200">
</a>
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
<h4>铂金赞助</h4>
<a href="https://www.fadetask.com/?from=workerman" target="__blank"><img src="https://www.workerman.net/img/sponsors/1/20230719084316.png" width="200"></a>
<a href="https://www.yilianyun.net/?from=workerman" target="__blank" style="margin-left:20px;"><img src="https://www.workerman.net/img/sponsors/6218/20230720114049.png" width="200"></a>
#### 特技
</div>
<div style="float:left;padding-bottom:30px;clear:both">
<h1>请作者喝咖啡</h1>
<img src="https://www.workerman.net/img/wx_donate.png" width="200">
<img src="https://www.workerman.net/img/ali_donate.png" width="200">
<br>
<b>如果您觉得webman对您有所帮助欢迎捐赠。</b>
</div>
<div style="clear: both">
<h1>LICENSE</h1>
The webman is open-sourced software licensed under the MIT.
</div>
</div>
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/)

View File

@@ -0,0 +1,24 @@
<?php
namespace app\controller;
use support\Request;
class IndexController
{
public function index(Request $request)
{
return "我是数据中心,有何贵干?";
}
public function view(Request $request)
{
return view('index/view', ['name' => 'webman']);
}
public function json(Request $request)
{
return json(['code' => 0, 'msg' => 'ok']);
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace app\controller;
use support\Request;
class UserController
{
public function hello(Request $request)
{
$default_name = 'webman';
// 从get请求里获得name参数如果没有传递name参数则返回$default_name
$name = $request->get('name', $default_name);
// 向浏览器返回字符串
return response('hello ' . $name);
}
}

4
app/functions.php Normal file
View File

@@ -0,0 +1,4 @@
<?php
/**
* Here is your custom functions.
*/

View File

@@ -0,0 +1,42 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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('<h1>403 forbidden</h1>', 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;
}
}

29
app/model/Test.php Normal file
View File

@@ -0,0 +1,29 @@
<?php
namespace app\model;
use support\Model;
class Test extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'test';
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id';
/**
* Indicates if the model should be timestamped.
*
* @var bool
*/
public $timestamps = false;
}

37
app/model/User.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
// app/model/User.php
namespace app\model;
use MongoDB\Laravel\Eloquent\Model;
use MongoDB\Laravel\Relations\HasMany; // 若需关联查询(可选)
class User extends Model
{
// 对应 MongoDB 集合名(默认复数,可自定义)
protected $collection = 'users';
// 主键MongoDB 默认 _id无需修改自动转为字符串
protected $primaryKey = '_id';
// 主键类型(官方推荐显式声明)
protected $keyType = 'string';
// 允许批量赋值的字段(白名单)
protected $fillable = ['name', 'age', 'email', 'avatar'];
// 自动转换字段类型ObjectId 转字符串、日期转 Carbon
protected $casts = [
'_id' => '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';
}

10
app/process/Http.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
namespace app\process;
use Webman\App;
class Http extends App
{
}

305
app/process/Monitor.php Normal file
View File

@@ -0,0 +1,305 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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;
}
}

14
app/view/index/view.html Normal file
View File

@@ -0,0 +1,14 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="/favicon.ico"/>
<title>webman</title>
</head>
<body>
hello <?=htmlspecialchars($name)?>
</body>
</html>

56
composer.json Normal file
View File

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

2455
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

26
config/app.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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,
];

21
config/autoload.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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',
]
];

17
config/bootstrap.php Normal file
View File

@@ -0,0 +1,17 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
support\bootstrap\Session::class,
];

15
config/container.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return new Webman\Container;

27
config/database.php Normal file
View File

@@ -0,0 +1,27 @@
<?php
return [
// 默认数据库连接(可选改为 mongodb
'default' => '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', // 认证机制(默认推荐)
],
],
],
];

15
config/dependence.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [];

17
config/exception.php Normal file
View File

@@ -0,0 +1,17 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'' => support\exception\Handler::class,
];

32
config/log.php Normal file
View File

@@ -0,0 +1,32 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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],
],
]
],
],
];

15
config/middleware.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [];

62
config/process.php Normal file
View File

@@ -0,0 +1,62 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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 === '/',
]
]
]
];

21
config/route.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use Webman\Route;

23
config/server.php Normal file
View File

@@ -0,0 +1,23 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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
];

65
config/session.php Normal file
View File

@@ -0,0 +1,65 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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],
];

23
config/static.php Normal file
View File

@@ -0,0 +1,23 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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,
],
];

25
config/translation.php Normal file
View File

@@ -0,0 +1,25 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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',
];

22
config/view.php Normal file
View File

@@ -0,0 +1,22 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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
];

46
go.sh Normal file
View File

@@ -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. 安装 PHPsudo apt install php-cliUbuntu/Debian或 sudo dnf install php-cliCentOS/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

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

73
src/utils/cacheCleaner.ts Normal file
View File

@@ -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<void> => {
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<void>((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();
};

5
start.php Normal file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env php
<?php
chdir(__DIR__);
require_once __DIR__ . '/vendor/autoload.php';
support\App::run();

24
support/Request.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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
{
}

24
support/Response.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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
{
}

139
support/bootstrap.php Normal file
View File

@@ -0,0 +1,139 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @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);

3
weChat.ts Normal file
View File

@@ -0,0 +1,3 @@

3
windows.bat Normal file
View File

@@ -0,0 +1,3 @@
CHCP 65001
php windows.php
pause

136
windows.php Normal file
View File

@@ -0,0 +1,136 @@
<?php
/**
* Start file for windows
*/
chdir(__DIR__);
require_once __DIR__ . '/vendor/autoload.php';
use Dotenv\Dotenv;
use support\App;
use Workerman\Worker;
ini_set('display_errors', 'on');
error_reporting(E_ALL);
if (class_exists('Dotenv\Dotenv') && file_exists(base_path() . '/.env')) {
if (method_exists('Dotenv\Dotenv', 'createUnsafeImmutable')) {
Dotenv::createUnsafeImmutable(base_path())->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 = <<<EOF
<?php
require_once __DIR__ . '/../../vendor/autoload.php';
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
use Webman\Config;
use support\App;
ini_set('display_errors', 'on');
error_reporting(E_ALL);
if (is_callable('opcache_reset')) {
opcache_reset();
}
if (!\$appConfigFile = config_path('app.php')) {
throw new RuntimeException('Config file not found: app.php');
}
\$appConfig = require \$appConfigFile;
if (\$timezone = \$appConfig['default_timezone'] ?? '') {
date_default_timezone_set(\$timezone);
}
App::loadAllConfig(['route']);
worker_start('$processParam', $configParam);
if (DIRECTORY_SEPARATOR != "/") {
Worker::\$logFile = config('server')['log_file'] ?? Worker::\$logFile;
TcpConnection::\$defaultMaxPackageSize = config('server')['max_package_size'] ?? 10*1024*1024;
}
Worker::runAll();
EOF;
$processFile = $runtimeProcessPath . DIRECTORY_SEPARATOR . "start_$processParam.php";
file_put_contents($processFile, $fileContent);
return $processFile;
}
if ($monitorConfig = config('process.monitor.constructor')) {
$monitorHandler = config('process.monitor.handler');
$monitor = new $monitorHandler(...array_values($monitorConfig));
}
function popen_processes($processFiles)
{
$cmd = '"' . PHP_BINARY . '" ' . implode(' ', $processFiles);
$descriptorspec = [STDIN, STDOUT, STDOUT];
$resource = proc_open($cmd, $descriptorspec, $pipes, null, null, ['bypass_shell' => 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);
}
}

348
技术方案.md Normal file
View File

@@ -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字典/事实/审计)+ Rediscohort 人群集与位图)。
### 二点五、运行逻辑图(分层架构,数据流视角)
```mermaid
╔═════════════════════════════════════════════════════════════════════════╗
║ 数据源层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│交易系统│ │APP行为│ │客服系统│ │CRM │
└─────┘ └─────┘ └─────┘ └─────┘
│ │ │ │
└───────┴─────────┘
╔═════════════════════════════════════════════════════════════════════════╗
║ 接入层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌───────────────────────────────────────┐
│ Job调度器 增量水位 │
└───────────────────────────────────────┘
┌───────────────────────────────────────┐
│ 标准化 校验 │
└───────────────────────────────────────┘
╔═════════════════════════════════════════════════════════════════════════╗
║ 身份层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌───────────────────────────────────────┐
│ IdentifierService │
│ 手机号→person_id │
└───────────────────────────────────────┘
┌───────────────────────────────────────┐
│ 临时人建表 强标识合并 │
└───────────────────────────────────────┘
╔═════════════════════════════════════════════════════════════════════════╗
║ 标签层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌───────────────────────────────────────┐
│ channel_tags │
│ 通道标签存储 │
└───────────────────────────────────────┘
┌───────────────────────────────────────┐
│ Aggregator │
│ 聚合计算 │
└───────────────────────────────────────┘
┌───────────────────────────────────────┐
│ person_tags │
│ 人层标签存储 │
└───────────────────────────────────────┘
╔═════════════════════════════════════════════════════════════════════════╗
║ 规则层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌───────────────────────────────────────┐
│ RuleEngine │
│ DSL执行 │
└───────────────────────────────────────┘
┌───────────────────────────────────────┐
│ Redis Cohort │
│ 人群集合 │
└───────────────────────────────────────┘
╔═════════════════════════════════════════════════════════════════════════╗
║ 应用层 ║
╚═════════════════════════════════════════════════════════════════════════╝
┌─────┐ ┌─────┐ ┌─────┐
│人群查询│ │快照导出│ │分发推送│
└─────┘ └─────┘ └─────┘
```
### 二点六、运行逻辑图(时序视角)
```mermaid
sequenceDiagram
participant 业务系统 as 业务系统<br/>(交易/APP/客服)
participant 接入服务 as 数据接入服务
participant 身份服务 as 身份解析服务
participant 通道标签 as channel_tags<br/>(存储)
participant 聚合服务 as 聚合计算服务
participant 人层标签 as person_tags<br/>(存储)
participant 规则引擎 as 规则引擎
participant 人群缓存 as Redis Cohort
业务系统->>接入服务: 1. 推送事件/批量数据
接入服务->>接入服务: 2. 标准化、校验、去重
接入服务->>身份服务: 3. 解析标识<br/>(手机号/微信→person_id)
身份服务-->>接入服务: 返回person_id<br/>(不存在则建临时人)
接入服务->>通道标签: 4. 写入通道标签<br/>(幂等、window/source/version)
通道标签->>聚合服务: 5. 触发聚合事件<br/>(实时/批量)
聚合服务->>人层标签: 6. 按口径聚合<br/>(sum/max/avg/any)
人层标签->>规则引擎: 7. 标签变更触发<br/>(受影响person_id)
规则引擎->>规则引擎: 8. 执行DSL规则
规则引擎->>人群缓存: 9. 更新cohort<br/>(SADD/SINTER)
人群缓存-->>业务系统: 10. 人群查询/导出
```
### 二点七、运行逻辑图(简化版,核心路径)
```mermaid
graph TB
Start([数据源<br/>交易/行为/客服/CRM]) --> Ingest[数据接入<br/>Job调度 + 标准化]
Ingest --> Identity[身份解析<br/>手机号→person_id]
Identity --> Channel[通道标签<br/>channel_tags]
Channel --> Aggregate[聚合计算<br/>通道→人层]
Aggregate --> Person[人层标签<br/>person_tags]
Person --> Rule[规则引擎<br/>DSL筛选]
Rule --> Cohort[人群集合<br/>Redis Cohort]
Cohort --> Export([应用输出<br/>查询/快照/分发])
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
- 集合/位图存 cohortKey 规范:`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/外呼对接;质量监控与看板。

374
数据库/KR.js Normal file
View File

@@ -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"
});

509
数据库/KR_KR.js Normal file
View File

@@ -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("雅虎用户");

31
数据库/KR_Linkedln.js Normal file
View File

@@ -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
});

31
数据库/KR_京东.js Normal file
View File

@@ -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
});

37
数据库/KR_人才库.js Normal file
View File

@@ -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("慈溪人才网");

142
数据库/KR_企业.js Normal file
View File

@@ -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"
});

View File

@@ -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万元企业名录");

View File

@@ -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"
});

122
数据库/KR_商城.js Normal file
View File

@@ -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"
});

359
数据库/KR_国外.js Normal file
View File

@@ -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"
});

618
数据库/KR_存客宝.js Normal file
View File

@@ -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"
});

View File

@@ -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"
});

36
数据库/KR_微博.js Normal file
View File

@@ -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"
});

90
数据库/KR_快递.js Normal file
View File

@@ -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"
});

46
数据库/KR_户口.js Normal file
View File

@@ -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"
});

186
数据库/KR_手机.js Normal file
View File

@@ -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万");

223
数据库/KR_投资.js Normal file
View File

@@ -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("黑龙江");

223
数据库/KR_淘宝.js Normal file
View File

@@ -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万)");

156
数据库/KR_游戏.js Normal file
View File

@@ -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"
});

1136
数据库/KR_腾讯.js Normal file

File diff suppressed because it is too large Load Diff

79
数据库/KR_酒店.js Normal file
View File

@@ -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万内_备份");

View File

@@ -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("隶属关系代码");

91
数据库/KR_顺丰.js Normal file
View File

@@ -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"
});

View File

@@ -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("黑龙江");

View File

@@ -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月库");

25
数据库列表.md Normal file
View File

@@ -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_游戏