经常在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文件放置在执行命令的环境中。
■结语
我会在调查的基础上进行补充。