河北网站制作公司哪家好,凉山州建设局网站,吉林整站优化,网站刷流量对网站有影响吗工具下载地址#xff1a;GitHub - variety/variety: Variety: a MongoDB Schema Analyzer
对于Mongo这种结构松散的数据库来说#xff0c;如果想探查某个集合的结构#xff0c;通过其本身提供的功能很不方便#xff0c;通过调研发现一个很轻便的工具--variety#xff0c;…工具下载地址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}, outputFormatjson
limit 集合数据量较大可以限制探索的数据量--eval var collection{collecitonName}, limit1000
maxDepth 限制集合的嵌套层数--eval var collection{collectionName}, maxDepth3
query 满足特定查询条件的数据--eval var collection{collectionName}, query{key: true}
lastValue 展示最后一个文档中的值--eval var collection{collectionName}, lastValuetrue
excludeSubkeys 排除一些key--eval var collection{collectionName}, excludeSubkeys[someNestedObject.a.b]
slaveOk 指定复制副本进行读取--eval var collection{collectionName}, slaveOktrue
persistResults 保存结果到MongoDB中--eval var collection{collectionName}, persistResultstrue
指定结果集保存位置
resultsDatabase 接受数据库名或者一个host[:port]/database链接地址
resultsCollection 内容为空的集合名
resultsUser 数据库用户名
resultsPass 数据库密码 对数据结构进行分析需要进行全表扫描如果数据量很大消耗一定的数据库资源建议使用一个不提供服务的备份或者在业务低峰时进行避免对实际业务造成压力。