Linux中mongodb安装和导出为json

采用官方工具导出mongo数据为json格式

文档:https://docs.mongodb.com/manual/reference/program/mongoexport/

可以远程导出,只要有host:port即可。

首先需要安装tools:

在redhat中:

文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

1、编写repo文件

Create a /etc/yum.repos.d/mongodb-org-3.2.repo file so that you can install MongoDB directly, using yum.

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

2.选择安装功能

一共有以下几种选择

mongodb-org

A metapackage that will automatically install the four component packages listed below.

mongodb-org-server

Contains the mongod daemon and associated configuration and init scripts.

mongodb-org-mongos

Contains the mongos daemon.

mongodb-org-shell

Contains the mongo shell.

mongodb-org-tools

Contains the following MongoDB tools: mongoimport bsondump, mongodump,mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop.

如果全部安装:

sudo yum install -y mongodb-org

如果只安装tools

sudo yum install -y mongodb-org-tools

3.导出json

sudo mongoexport -h $mongoDBUri --db $db_name  -c $collection_name  -q '{
    $or:[
        {"alerts.FamilyFriendly.completed":false},
        {"alerts.GasAndSafety.completed":false},
        {"alerts.Breakfast.completed":false},
        {"alerts.SpokenLanguage.completed":false},
        {"alerts.LocationHighlights.completed":false},
        {"alerts.AccessibilityEnsure.completed":false},
        {"alerts.AirportShuttle.completed":false},
        {"alerts.RoomSize.completed":false},
        {"alerts.Renovations.completed":false}
    ]
}' -f hotelId,alerts   -o $OUTPUTDIR/contentScore-$(date +%F)-e.json --jsonArray
  • -h  host:port
  • --db db
  • -c collections
  • -q query string,查询语法
  • -f  选择导出字段
  • -o  导出文件
  • --jsonArray 导出为数组,默认为{}{}{}...

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏武培轩的专栏

Redis持久化

Redis是内存型数据库,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化。 Redis支持两种持久化的方式,一...

4115
来自专栏晓晨的专栏

.NET Core 获取操作系统各种信息

1853
来自专栏晓晨的专栏

.NET Core 控制台应用程序使用异步(Async)Main方法

可以看到报错了,提示我们是C# 7.1 的特性。我们有两种方法可以解决,其实最后都是殊途同归,只是操作不一样而已。

1772
来自专栏Eternally运维

Redis持久化

采用RDB持久化方式,redis会定期把数据快照保存到一个rdb文件中,并在启动时加载rdb文件,恢复之前保存的数据,可以在配置文件中设置保存数据的时间:

2138
来自专栏kwcode

使用Cache缓存

存放位置:服务器内存,用于频繁访问且不轻易更改的内容缓存。 string CacheKey = "CT1"; //检索指定项, object objModel ...

3026
来自专栏跟着阿笨一起玩NET

ASP.NET 防止同一用户同时登陆

       要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆...

891
来自专栏IT可乐

Redis详解(七)------ AOF 持久化

  上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所...

1150
来自专栏跟着阿笨一起玩NET

关于WinForm/Web如何使用缓存Cach

相对到期也称滑动到期:设置相对过期时间 指定时间内无访问会失效。(类似Session机制)

1191
来自专栏fixzd

redis系列:RDB持久化与AOF持久化

Redis的数据都是存储在内存中的,所以Redis持久化也就是要把Redis存储在内存中的数据保存到硬盘。 Redis提供了两种持久化方式

922
来自专栏Laoqi's Linux运维专列

Redis的两种备份方式

1183

扫码关注云+社区