【绝对无坑】Mongodb获取集合的字段以及数据类型信息

ops/2025/1/18 0:12:30/

Mongodb获取集合的字段以及数据类型信息

感觉很LOW的一个数据仓工具seatunel,竟然不能自动读取mongodb的表结构信息,需要手工创建。
然鹅,本人对mongodb也是新手,很多操作也不知所措,作为一个DBA,始终还是被研发的甩锅,没得办法只能想办法帮忙把集合的字段类型导出来给他。

网上找了很多方法都不行,坑太多了。

原本想使用mongodump工具导出,但是由于版本限制,mongodb4.4版本才支持schemaonly参数,本人服务器的版本是4.2

在此,为了方便需要的小伙伴,就此贴出无坑版操作代码,希望有所帮助:


winrs:PRIMARY> use testdb;
switched to db testdb
winrs:PRIMARY> var collection = db.dbaList;
winrs:PRIMARY> var fields = {};
winrs:PRIMARY> collection.find().forEach(function(doc) {
...     for (var key in doc) {
...         if (!fields[key]) {
...             fields[key] = typeof doc[key];
...         }
...     }
... });
winrs:PRIMARY> printjson(fields);
{"_id" : "number","n" : "string","brand" : "string","stand" : "string","group" : "string","area" : "string","dept" : "string","ip" : "string","port" : "number","sta" : "number","c_sta" : "number","e_flag" : "number","u_t" : "string","w_t" : "string","sta_t" : "string","c_sta_t" : "string","stop_t" : "string","power" : "number","v" : "number","s" : "number","h" : "number","b_a" : "number","w_a" : "number","h_a" : "number","l" : "number","e_c" : "object","m_c" : "object","o_c" : "object","timer" : "number","count" : "number","e_send" : "number","m_sta" : "number","s_sta" : "number","sta_his_id" : "string","alert_his_id" : "object","c_sta_his_id" : "string","alert_time" : "object","ensure" : "number","update_time" : "string","fmis_id" : "string","remarks" : "string","ensure_time" : "string","user_id" : "string"
}

http://www.ppmy.cn/ops/150957.html

相关文章

LLM - 大模型 ScallingLaws 的 CLM 和 MLM 中不同系数(PLM) 教程(2)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145188660 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scalin…

PHP政务招商系统

🚀政务招商系统:开启智慧招商新纪元 🔧这是一款由顶尖技术团队基于PHPUniapp框架精心锻造的招商神器,它将先进的数据可视化技术与高效的平台管理深度融合,开创了一个前所未有的可视化招商管理平台。在这个平台上&…

从0开始学习搭网站第二天

前言:今天比较惭愧,中午打铲吃了一把,看着也到钻二了,干脆顺手把这个赛季的大师上了,于是乎一直到网上才开始工作,同样,今天的学习内容大多来自mdn社区mdn 目录 怎么把文件上传到web服务器采用S…

Python学习(三)基础入门(数据类型、变量、条件判断、模式匹配、循环)

目录 一、第一个 Python 程序1.1 命令行模式、Python 交互模式1.2 Python的执行方式1.3 SyntaxError 语法错误1.4 输入和输出 二、Python 基础2.1 Python 语法2.2 数据类型1)Number 数字2)String 字符串3)List 列表4)Tuple 元组5&…

检测模型安全的更高级的方法

1. 查询依赖攻击(Dependency Query Attack) 定义: 利用模型对上下文或外部知识库的依赖,通过操纵这些外部依赖来引导模型输出敏感或错误的信息。 实现方式: 在知识库中插入伪造的信息,观察模型如何处理…

MySQL程序之:连接到服务器的命令选项

本节介绍大多数MySQL客户端程序支持的选项,这些选项控制客户端程序如何建立与服务器的连接、连接是否加密以及连接是否压缩。这些选项可以在命令行或选项文件中给出。 连接建立的命令选项 本节介绍控制客户端程序如何建立与服务器的连接的选项。 表6.4连接建立选…

【25考研】西南交通大学计算机复试重点及经验分享!

一、复试内容 上机考试:考试题型为编程上机考试,使用 C 语言,考试时长包括 15 分钟模拟考试和 120 分钟正式考试,考试内容涵盖顺序结构、选择结构、循环结构、数组、指针、字符串处理、函数、递归、结构体、动态存储、链表等知识点…

算法与数据结构——复杂度

目录 一 数据结构前言 1 数据结构 2 算法 3 算法与数据结构的关系 二 算法效率 1 算法效率: 2 复杂度 2.1 概念: 2.2分类: 2.3 空间复杂度在计算机高速发展的现代重要吗? 3 复杂度的重要性 三 时间复杂度…