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

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

相关推荐
lytao1233 小时前
离线安装MongoDB集群
数据库·mongodb
啊西:3 小时前
SuperMap iObjects Java地图生成栅格瓦片并保存到mongodb
java·开发语言·mongodb
醉风塘3 小时前
MongoDB内嵌文档深度解析:使用MongoTemplate进行高效操作
数据库·mongodb
AC赳赳老秦1 天前
DeepSeek 赋能医疗信息化:基于电子病历的结构化诊疗建议模板生成
mongodb·信息可视化·流程图·ambari·数据库开发·数据库架构·deepseek
无言(* ̄(エ) ̄)1 天前
C语言--运算符/函数/结构体/指针
c语言·开发语言·数据结构·数据库·算法·mongodb
范纹杉想快点毕业2 天前
返璞归真还是拥抱现代?——嵌入式研发中的“裸机开发”与RTOS全景解析
c语言·数据库·mongodb·设计模式·nosql
辗转.9532 天前
MongoDB入门指南:从零开始掌握NoSQL数据库
数据库·mongodb·nosql
李少兄2 天前
一文搞懂什么是关系型数据库?什么是非关系型数据库?
数据库·redis·mysql·mongodb·nosql
剑之所向2 天前
MCU开机按键,怎么避免抖动造成的开机
数据库·单片机·mongodb
醉风塘2 天前
MongoDB持久化深度解析:从数据安全到性能平衡的艺术
数据库·mongodb