Shuo
Shuo I'm a DBA(Database Administrator), we can share and discuss MySQL, MongoDB, Redis and other databases here, also including learning Python, Shell, Golang together.

MySQL手记8 — adminMongo与Mongo-express对比(结果格式差异)

MySQL手记8 — adminMongo与Mongo-express对比(结果格式差异)

一、adminMongo & Mongo-express

介绍:

1
2
    adminMongo(https://github.com/mrvautin/adminMongo)和Mongo-express(https://github.com/mongo-express/mongo-express)都是非常简单好用的MongoDB可视化展示的工具,在平常的调试或者排查问题中会使用到。

1.1 adminMongo安装

(1)使用git拷贝仓库

1
2
git clone https://github.com/mrvautin/adminMongo

(2)安装

1
2
3
cd adminMongo/
npm install

(3)启动

1
2
 npm start


可以看出,adminMongo的安装及启动都是非常的方便,启动后,直接访问http://localhost:1234 即可。

1.2 Mongo-express安装

1
2
    可使用docker进行快速便捷的安装:

(1)编辑docker启动mongo-express所需的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat start.yml
version: '3.1'

services:
  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_BASICAUTH_USERNAME: admin
      ME_CONFIG_BASICAUTH_PASSWORD: admin
      ME_CONFIG_MONGODB_ADMINUSERNAME: mongoadmin
      ME_CONFIG_MONGODB_ADMINPASSWORD: mongoroot
      ME_CONFIG_MONGODB_ENABLE_ADMIN: 'true'
      ME_CONFIG_MONGODB_PORT: 27017
      ME_CONFIG_MONGODB_SERVER: 127.0.0.1

(2)使用docker安装及启动

1
2
docker-compose -f start.yml up

二、两者的差异

1
2
    近日在查看MongoDB的数据时,发现得到的结果格式不一致,猜想是MongoDB客户端展示的问题,显示如下:

adminMongo:

Mongo-express:

1
2
插入的时候,插入的是一个kv键值对,其中value为json格式。

可以看出,对于MongoDB中的document,adminMongo显示为一个包含“_id”的JSON串(并且把原来的JSON串的双引号进行了转义),mongo-express则是展示这个document中的键值对,并保留插入时候的JSON。

两者都可以显示数据,就是展示的格式不同,可以拿到json.cn进行查看:
adminMongo:需要先转换一次,再把去除了双引号的value提出来(json串)
mongo-express:删除key,直接使用value(json串)进行查看。

欢迎关注公众号:朔的话

comments powered by Disqus