MongoDB 提供的工具
官网
工具
MongoDB 提供了一些工具,:
- MongoDB Compass: MongoDB数据库可视化工具(类似PL/SQL)
- MongoDB Shell : 连接配置数据库
- MongoDB Database Tools:包含了
mongoimport
和mongoexport
,mongodump
等工具
下载地址
https://www.mongodb.com/try/download/tools
MongoDB Database Tools
官方文档:https://docs.mongodb.com/database-tools/?_ga=2.29559871.1661032572.1642390415-20619496.1636351487
数据库工具提供了操作数据库的一些脚本:
- 二进制导入导出
- mongodump : 将mongod 实例内容以二进制格式导出
- mongorestore : 转储当前数据库数据到另一个数据库
- bsondump : BSON dump文件转化为JSON
- 数据导入导出
- mongoimport : 导入扩展名为JSON,CSV或TSV的导出文件的内容
- mongoexport: 以JSON格式或CSV格式从mongod实例中导出数据
- 诊断工具
- mongostat: 提供一个显示当前正在运行的mongod实例的状态的视图
- mongotop : 提供一个显示mongod实例读取和写入数据花费的时间的视图
- GridFS工具
- mongofile : 支持在GridFS对象中操作存储在MongoDB实例中的文件。
脚本
1.使用 mongoexport 导出某个任务号的JSON数据
#!/bin/bash
echo "校验参数..."
taskNo=$1
if [ -z $taskNo ]
then
echo "taskNo 不允许为空!"
exit 2
fi
echo "export taskNo[${taskNo}] hdmap data ..."
# 日期
cur_date=`date +%Y%m%d%H%M%S`
mongo_db_tool_dir="/home/public/Soft/mongodb-5.0.4"
# 保存路径
save_path="/home/public/Soft/mongodb-5.0.4/hdmap_data_export/${cur_date}"
# 创建保存路径
mkdir -p ${save_path}
# 循环数组
for table in "my_task" "my_task_detail" "my_task_rel"
do
echo "start export table[${table}] data to ${save_path}/${table}.json"
if [ ${table} = "my_task_detail" ] || [ ${table} = "my_task_rel" ]
then
# 查询条件为tasknos数组包含taskNo的数据
${mongo_db_tool_dir}/tool/bin/mongoexport --host=127.0.0.1 --port=27018 --db=task_db --collection=${table} --type=json --jsonArray --query='{"tasknos":{"$all":["'${taskNo}'"]}}' --out=${save_path}/${table}.json
if [ $? -ne 0 ]
then
echo "export table [${table}] failed!"
else
echo "export table [${table}] success."
fi
else
# 查询条件为task_no为 taskNo的数据
${mongo_db_tool_dir}/tool/bin/mongoexport --host=127.0.0.1 --port=27018 --db=task_db --collection=${table} --type=json --jsonArray --query='{"task_no":"'${taskNo}'"}' --out=${save_path}/${table}.json
if [ $? -ne 0 ]
then
echo "export table [${table}] failed!"
else
echo "export table [${table}] success."
fi
fi
done
echo "export hdmap data over."
本文来自博客园,作者:不安分的黑娃,转载请注明原文链接:https://www.cnblogs.com/lihw-study/p/15812896.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库