MongoDB集合结构分析工具Variety

工具下载地址:GitHub - variety/variety: Variety: a MongoDB Schema Analyzer

对于Mongo这种结构松散的数据库来说,如果想探查某个集合的结构,通过其本身提供的功能很不方便,通过调研发现一个很轻便的工具--variety,可以让使用者很轻松的了解存储在Mongo中具体集合的数据结构。

  1. 可以清晰看到每个key使用的是什么类型的数据格式

  2. 每个key在collection中的使用率

  3. 可以限制documents的查询数量

  4. 可以只分析documents的子集

  5. 可以对查询结果进行排序

  6. 查询结果输出格式支持:ASCII:很好格式化的表;JSON

基本语法:

mongo -u{username} -p{password} -p{port}

必填

databaseName

--eval "var collection='{collectionName}'" variety.js

选填

--dbpath 如果db文件不在默认路径,通过该参数进行指定

--quiet 减少不必要信息输出

sort对结果进行排序:--eval "var collection='{collectionName},' sort={update_at: -1}"

outputFormat 结果输出格式:--eval "var collection='{collectionName}', outputFormat='json'"

limit 集合数据量较大,可以限制探索的数据量:--eval "var collection='{collecitonName}', limit=1000"

maxDepth 限制集合的嵌套层数:--eval "var collection='{collectionName}', maxDepth=3"

query 满足特定查询条件的数据:--eval "var collection='{collectionName}', query={'key': true}"

lastValue 展示最后一个文档中的值:--eval "var collection='{collectionName}', lastValue=true"

excludeSubkeys 排除一些key:--eval "var collection='{collectionName}', excludeSubkeys=['someNestedObject.a.b']"

slaveOk 指定复制副本进行读取:--eval "var collection='{collectionName}', slaveOk=true"

persistResults 保存结果到MongoDB中:--eval "var collection='{collectionName}', persistResults=true"

指定结果集保存位置:

resultsDatabase 接受数据库名或者一个host[:port]/database链接地址

resultsCollection 内容为空的集合名

resultsUser 数据库用户名

resultsPass 数据库密码

对数据结构进行分析,需要进行全表扫描,如果数据量很大,消耗一定的数据库资源,建议使用一个不提供服务的备份或者在业务低峰时进行,避免对实际业务造成压力。

相关推荐
创码小奇客7 小时前
MongoDB:数据库界的 “狂野西部牛仔”
java·mongodb·trae
王佑辉1 天前
【mongodb】mongodb和MySQL体系结构的对比
mysql·mongodb
爱的叹息1 天前
Redis 与 MongoDB 对比分析
数据库·redis·mongodb
maybe02091 天前
使用 node.js 和 MongoDB 编写一个简单的增删改接口 demo
前端·数据库·mongodb·node.js
spongeB1 天前
使用docker 创建MongoDB副本集配置完整指南
mongodb·docker·容器
SlientICE1 天前
MQTT协议:IoT通信的轻量级选手
网络·stm32·单片机·嵌入式硬件·物联网·mongodb
在下千玦2 天前
#MongoDB 快速上手
数据库·mongodb
掘金-我是哪吒2 天前
分布式微服务系统架构第96集:大型跨境电商JVM调优,MongoDB、Elasticsearch (ES)、Cassandra
jvm·分布式·mongodb·微服务·系统架构
爱的叹息2 天前
Spring Boot 3.x 集成 MongoDB 的 默认配置项及默认值,以及 常用需要修改的配置项 的详细说明
spring boot·后端·mongodb
rockmelodies3 天前
【MongoDB + 向量搜索引擎】MongoDB Atlas 向量搜索 提供全托管解决方案
数据库·mongodb·搜索引擎