经常在MongoDB中使用的命令等

最近开始使用MongoDB。
但是还没有完全记住所有命令,每次都需要参考网站,因此我想在这里写下常用的命令。

我不小心刪除了有關在 Windows 10 環境安裝 MongoDB 的文章,所以我打算之後再寫一篇。(真是心痛啊…明明努力寫了呢(´;ω;`)ウゥゥ)

■ 参考网站方

安装和启动MongoDB 3.0.6(Windows版)的步骤
在MongoDB Shell中玩耍
如何在Mongo Shell中使用find命令显示超过20条记录
如果不想频繁输入“it”来获取更多结果
仅使用Shell脚本从MySQL迁移到MongoDB
Mongo的用法-设置篇

■开启与关闭

启动

    在命令提示符下启动MongoDB。
mongo --dbpath C:\mongodb\data\data --logpath C:\mongodb\logs\mongodb.log

结束

    在另一个命令提示符中停止MongoDB
mongo
use admin
db.shutdownServer()
quit()

■ MongoDB Shell 的启动和关闭

开始

    在命令提示符中启动MongoShell
mongo [接続先ホスト名]

在本地主机上似乎可以省略。
如果远程连接,我们会输入IP地址来使用。

结束

    在命令提示符中结束MongoShell。
exit

■ 数据库操作

以列表方式显示

show dbs

换。

use [データベース名]

■集合操作

列出

show collections

数据显示

db.[コレクション名].find()

然而,如果结果超过20个,将会显示“输入“it”以获取更多”,并且不会显示所有结果。原因是为了减轻负担,最大显示数量被设定为20。因此,可以通过以下命令将设置值从20更改为例如100或300。

DBQuery.shellBatchSize = 100

获取数据记录数

db.[コレクション名].count()

■ 其他

将CSV文件导入到集合中

mongoimport --host [接続先ホスト] -d [データベース名] -c [コレクション名] --type csv --file [csvファイル名] --headerline --drop

关于mongoimport的选项:
– –host:连接主机(可以是IP地址、localhost等)
– –port:连接端口(虽然可以省略,但如果不是默认端口,可能需要写上)
– -d:数据库名
– -c:集合名
– –type:读取文件类型
– –file:读取文件名
– –headerline:将第一行视为标题(即字段名)
– –drop:在导入前删除集合…(想改成添加)

运行js文件

这次是在进行数据迁移时使用的,比如在将数据迁移到目标地的同时进行数据加工,如果能够使用类似批处理文件的东西就很方便了,所以我在调查中发现可以使用js文件。因此,我决定制作一个包含以下内容的js文件,并通过命令来执行它。
(由于以下的js在实际源代码中有所修改,可能无法运行…所以请不要复制使用)

var DB1 = db.getMongo().getDB('db1');
var DB2 = db.getMongo().getDB('db2');
// 移行データ(DATA1)の全データを変数datasへ
var datas = DB1.DATA1.find();
// 移行先データを書き込む
datas.forEach(function(data){
    if (data) {
        // データ書き込み
        DB2.DATA2.insert({
        "FIELD1" : data.FIELD1,
        "FIELD2" : data.FIELD2
        })
    }
});

所以,实际执行时的指令是这个

mongo [接続先ホスト] --quiet [JSファイル名]

关于Mongo Shell选项
–quiet 在连接过程中停止来自Shell的输出
※将js文件放置在执行命令的环境中。

■结语

我会在调查的基础上进行补充。

广告
将在 10 秒后关闭
bannerAds