宇恒一号官网

This commit is contained in:
whm
2026-03-17 00:59:32 +08:00
commit eb56519df7
105 changed files with 10783 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
// 独立运行go run scripts/inspect_db.go
// 查看 MongoDB 数据结构(需先建立 SSH 隧道)
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"time"
"go.mongodb.org/mongo-driver/v2/bson"
"go.mongodb.org/mongo-driver/v2/mongo"
"go.mongodb.org/mongo-driver/v2/mongo/options"
)
func main() {
uri := "mongodb://localhost:27017"
client, err := mongo.Connect(options.Client().ApplyURI(uri))
if err != nil {
log.Fatalf("连接失败: %v", err)
}
defer client.Disconnect(context.TODO())
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
// 验证连接
var result bson.M
if err = client.Database("admin").RunCommand(ctx, bson.D{{Key: "ping", Value: 1}}).Decode(&result); err != nil {
log.Fatalf("Ping 失败: %v", err)
}
fmt.Println("MongoDB 连接成功\n")
// 列出数据库(排除系统库)
dbs, err := client.ListDatabaseNames(ctx, bson.M{
"name": bson.M{"$nin": []string{"admin", "config", "local"}},
})
if err != nil {
log.Fatalf("列出数据库失败: %v", err)
}
output := map[string]interface{}{"databases": []interface{}{}}
for _, dbName := range dbs {
db := client.Database(dbName)
colls, _ := db.ListCollectionNames(ctx, bson.M{})
dbInfo := map[string]interface{}{
"name": dbName,
"collections": []interface{}{},
}
for _, collName := range colls {
coll := db.Collection(collName)
count, _ := coll.CountDocuments(ctx, bson.M{})
var sample bson.M
_ = coll.FindOne(ctx, bson.M{}).Decode(&sample)
dbInfo["collections"] = append(dbInfo["collections"].([]interface{}), map[string]interface{}{
"name": collName,
"count": count,
"sample": sample,
})
}
output["databases"] = append(output["databases"].([]interface{}), dbInfo)
}
jsonBytes, _ := json.MarshalIndent(output, "", " ")
fmt.Println(string(jsonBytes))
}

View File

@@ -0,0 +1,13 @@
@echo off
REM MongoDB SSH 穿透 - 将远程 27017 映射到本地 27017
REM 运行此脚本后再启动 server即可连接远程 MongoDB
echo 正在建立 SSH 隧道...
echo 远程: www.yuxindazhineng.com:27017 -^> 本地: localhost:27017
echo.
echo 保持此窗口打开,隧道有效。关闭窗口即断开。
echo.
ssh -p 2223 -L 27017:localhost:27017 yxd@www.yuxindazhineng.com
pause