码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 数据库密码

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

  • 相关阅读:
    utc时间转毫秒
    编写方法将一个数组扁平化并且去重和递增排序
    YOLOv5算法改进(14)— 如何去更换主干网络(3)(包括代码+添加步骤+网络结构图)
    [翻译] 使用 TensorFlow 进行分布式训练
    Affinity Propagation (AP)近邻传播聚类
    104. SAP UI5 表格控件的支持复选(Multi-Select)以及如何用代码一次选中多个表格行项目
    【Spring学习笔记】
    动态贴纸、美颜SDK与AR:创造独特的互动体验
    序设计·RB(AT&T汇编)_笔记_第10章:处理字符串
    SAP PS 第八节 PS 常见问题处理-来源于SAP EPPM分享
  • 原文地址:https://blog.csdn.net/weixin_40163498/article/details/137328757
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号