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 数据库密码

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

相关推荐
JLWcai202510092 天前
核电打磨 “安全卫士”|金利威不锈钢专用树脂砂轮,合规高效双在线
mysql·mongodb·eureka·sqlite·rabbitmq·nosql·memcached
学生哥-_-2 天前
STC8H1K08单片机在Keil环境下各外设的配置及使用方法
单片机·嵌入式硬件·mongodb
todoitbo3 天前
MongoDB迁移:从烟囱式部署走向 KES-AI 时代融合数据库架构
人工智能·mongodb·数据库架构·国产数据库·kingbasees
一个天蝎座 白勺 程序猿3 天前
MongoDB迁移新范式|从烟囱式孤岛到KES-AI融合架构
人工智能·mongodb·架构·kingbasees
程序边界3 天前
从烟囱到融合:一次MongoDB迁移引发的架构重构深思
mongodb·重构·架构
霖霖总总5 天前
[MongoDB小技巧29]MongoDB PITR 深度工程化:从全量备份到“任意时间点”精准回滚
数据库·mongodb
霖霖总总5 天前
[MongoDB小技巧30]MongoDB 数据生命周期管理完全指南:从 TTL 索引到冷热分离归档
数据库·mongodb
吴声子夜歌7 天前
MongoDB 8.0——安全性
数据库·mongodb
吴声子夜歌7 天前
MongoDB 8.0——存储
数据库·mongodb
吴声子夜歌7 天前
MongoDB 8.0——索引
数据库·mongodb