前篇提到了服务端 241220 的启动关联到了 mongodb,也至于我没用过这玩意,搞得我一头雾水,经过了半个月的琢磨,也算是掌握了一些基本操作,接下来我将讲解一下几点,从而让我们在使用 MongoDB 时更加得心应手。
导入
- 打开 MongoDB 的 GUI 面板,创建一个我们自己的数据库 (面板上找到并点击 localhost:27017 右面的+号),名字为 boombeach,集合名字为 pp,然后点击 create database 即完成创建
- 看似空空如也,我们现在开始导入玩家数据 (海岛服务端中的 pp 文件夹内的 json 数据文件),先选中集合 pp 文件夹,然后点击 add data,然后点击 import json or csv file,然后导入 0.json
- 打开海岛奇兵服务端 (确保不闪退,可以正常运行,如果闪退那就是 0.json 你没搞好,我在上一篇搭建 241220 服务端中提到过,你需要删除一些段落并将 {} 替换为 []),然后打开 GUI 面板,删除所有玩家数据,点垃圾桶图标即可
- 在海岛服务端面板中输入 (不能有玩家在线)
/mongoimportpp等待一会后便导入完成,你会在 mongodb 面板中的 pp 文件夹内看到所有玩家数据了
导出
- 安装 python
- 打开 cmd 终端命令窗口,输入以下代码,目的是下载一个数据库
pip install pymongo如果出现以下内容,那么则代表下载完毕
- 之后创建一个 py 文件,直接创建一个 txt 文本文件改后缀即可
此 py 文件内容如下:
from pymongo import MongoClient import json # 连接到 MongoDB client = MongoClient('mongodb://localhost:27017/') db = client.boombeach collection = db.pp # 获取玩家数据 player_data = collection.find() # 遍历玩家数据并导出为 JSON 文件 for index, player in enumerate(player_data): # 移除 MongoDB 的默认 _id 字段,避免导出时出现问题 player.pop('_id', None) # 将玩家数据转换为 JSON 字符串 player_json = json.dumps(player, indent=4) # 定义保存路径为 D 盘,并根据玩家数据的索引命名文件 filename = f"D:/MongoDB 数据库玩家 json 文件夹/{index}.json" with open(filename, 'w') as file: file.write(player_json)我这里将导出路径设置为了 MongoDB 数据库玩家 json 文件夹的文件名,你只需要去 D 盘根目录创建一个 「MongoDB 数据库玩家 json 文件夹」 的文件名即可,执行 py 后这个文件夹内自然会出现带有序号的 json 玩家数据,这些数据都应该存放在服务器的 pp 文件夹中,每一个序号代表一个玩家。
搜索
以 {"PlayerID": 12} 为例子
playerid 就是大类,而 12 是这一类其中一个 json 数据的一个数值,其他搜索方法也是如此
如果我们需要查找玩家名字,通过名字来找到对方 ID 并实时操作
{"PlayerName": "哈哈"}
{"playername": "BOSS"}