在使用MongoDB数据库的过程当中,对于Shell命令的掌握是最基本的要求。对于一般的增删改查,都能够熟练地运用Shell解决,这才是学习MongoDB的正确姿势。今天的大数据学习分享,我们就主要来讲讲MongoDB Shell的数据库操作。
1、创建数据库
语法
use DATABASE_NAME
如果DATABASE_NAME库不存在,则创建数据库,否则切换到DATABASE_NAME库。
示例
> use 111
switched to db 111
> db
111
>
如果想查看所有数据库,可以使用 show dbs 命令:
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
我们刚才创建的111库不在列表里面,那是因为我们要向111库里面插入数据后才能显示
> use 111
switched to db 111
> db.test.insert({name:"数字"})
WriteResult({ "nInserted" : 1 })
>
> show dbs
111 0.000GB
admin 0.000GB
config 0.000GB
local 0.000GB
2、删除数据库
语法
db.dropDatabase()
删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。
示例
> show dbs
111 0.000GB
admin 0.000GB
config 0.000GB
local 0.000GB
>
> use 111
switched to db 111
> db.dropDatabase()
{ "dropped" : "111", "ok" : 1 }
>
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
3、Shell脚本中执行MongoDB命令
对于平常经常使用 MongoDB 的用户来讲,势必会经常进行查询、维护等操作。一般情况下,我们会使用图形化界面的客户端工具来操作,例如 Studio 3T for MongoDB。
那万一因为某种原因你只能在封闭环境(外网不可达或未暴漏 MongoDB 服务端口)上操作,并且是大量操作。这就需要在shell 脚本中执行了。
示例:
#! /bin/bash
./mongo 127.0.0.1:27017/test <<EOF
var cursor = db.UserInfo.find();
while(cursor.hasNext()){
var item = cursor.next();
print(item.userAccount);
}
EOF
shell脚本说明:
•./mongo mongo可执行程序,即登录的命令行命令
•127.0.0.1:27017 MongoDB服务的IP和端口
•test 要操作的MongoDB数据库名
•<<EOF ... EOF 待执行的命令。注意最后一个EOF必须在行首,前面不要加任何字符。并且EOF可以替换成任意的字符串(两个需要保持一致)。等多的shell子命令的知识您可以再自行翻阅下资料,这里就不多讲了。
4、MongoDB语句作为一个js脚本来执行
准备两个文件:
•test.js
var cursor = db.UserInfo.find();
while(cursor.hasNext()){
var item = cursor.next();
print(item.userAccount);
}
•shell脚本
#! /bin/bash
./mongo 127.0.0.1:27017/test ./test.js
shell脚本说明:
•./mongo mongo可执行程序,即登录的命令行命令
•127.0.0.1:27017 MongoDB服务的IP和端口
•test 要操作的MongoDB数据库名
您也可以在会话中使用如下方式执行:
./mongo 127.0.0.1:27017/test ./test.js
如上就是两种简单的在shell下执行MongoDB的方式。通过上面的方法,您可以将脚本的输出重定向到一个文件,或使用管道命令结合其他命令行工具的方式来进行二次分析,以达到事半功倍的效果。
关于大数据学习,MongoDB Shell的数据库操作,以上就为大家做了简单的介绍了。MongoDB的数据库操作,尤其是遇到需要在Shell当中去执行的情况下,建议多练习才能熟能生巧。成都加米谷大数据,专业
大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及学习视频,可联系客服获取!