vim /etc/yum.repos.d/local.repo
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum -y install mongodb-org
vim /etc/mongod.conf
bindIp:0.0.0.0 #监听所有地址,让任何人都可以来访问
systemctl start mongod
systemctl status mongod
登陆mongodb数据库
[root@localhost ~]# mongo
MongoDB shell version v3.6.21
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session {"id":UUID("c0922c65-13d8-4be0-a7cb-b21064b44d11")}
MongoDB server version:3.6.21...> show dbs #查看数据库,相当于mysql的show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
多实例安装配置
[root@localhost ~]# cd /etc
[root@localhost etc]# cp -p mongod.conf mongod2.conf
[root@localhost etc]# vim mongod2.conf #修改配置文件
10 path:/data/mongodb/mongod2.log #定义日志存放路径
14 dbPath:/data/mongodb/mongo #定义数据存放位置
29 port:27018 #监听端口号
[root@localhost etc]# mkdir -p /data/mongodb #创建数据目录
[root@promote ~]# cd /data/mongodb/[root@promote mongodb]# mkdir mongo #创建日志目录
[root@promote mongodb]# touch mongod2.log #创建日志文件
[root@promote mongodb]# chmod 777 mongod2.log #授权,让程序能够写入日志
[root@promote mongodb]# mongod -f /etc/mongod2.conf #指定配置文件启动服务
about to fork child process, waiting until server is ready for connections.
forked process:21518
child process started successfully, parent exiting
[root@promote mongodb]# mongo --port 27018 #登录进入数据库
MongoDB shell version v3.6.21
connecting to: mongodb://127.0.0.1:27018/?gssapiServiceName=mongodb
Implicit session: session {"id":UUID("d514e61c-59e3-477e-ac08-be64eb268992")}
MongoDB server version:3.6.21...> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
基本操作
> db.version() #查看版本号
3.6.21> use school #直接进数据库,附带创建数据库
switched to db school
> show dbs #此时查看数据库,并没有school
admin 0.000GB
config 0.000GB
local 0.000GB
> db.createCollection('info') #在库school中创建集合,相当于mysql的表
{"ok":1}> show dbs #此时发现可以看到school库了。只有当新库中有数据时,才会显示改库
admin 0.000GB
config 0.000GB
local 0.000GB
school 0.000GB
> show collections #查看集合
info
> db.info.find() #查看集合内数据,相当于select * from info,()内可以写查找条件
> db.info.insert({"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]})WriteResult({"nInserted":1})
#插入数据,()内接{},{}内加键值对,字符类型用""括起来,多个键值对用','分开。键值对中的值有多个时,用数组[]表示,值与值间用','隔开。值与值可以是不同字符类型
> db.info.find() #再次查看集合内数据
{"_id":ObjectId("5fb8ca13d6fe33bb8d9a361c"),"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]}> a=db.info.find() #将命令db.info.find()定义别名为a
{"_id":ObjectId("5fb8ca13d6fe33bb8d9a361c"),"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]}>for(var i=2;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) #循环插入数据,用"+"可以将前后字段连接起来成一个字符串
WriteResult({"nInserted":1})> db.info.find() #查看数据
{"_id":ObjectId("5fb8ca13d6fe33bb8d9a361c"),"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a361d"),"id":2,"name":"jack2"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a361e"),"id":3,"name":"jack3"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a361f"),"id":4,"name":"jack4"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3620"),"id":5,"name":"jack5"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3621"),"id":6,"name":"jack6"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3622"),"id":7,"name":"jack7"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3623"),"id":8,"name":"jack8"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3624"),"id":9,"name":"jack9"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3625"),"id":10,"name":"jack10"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3626"),"id":11,"name":"jack11"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3627"),"id":12,"name":"jack12"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3628"),"id":13,"name":"jack13"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a3629"),"id":14,"name":"jack14"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362a"),"id":15,"name":"jack15"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362b"),"id":16,"name":"jack16"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362c"),"id":17,"name":"jack17"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362d"),"id":18,"name":"jack18"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362e"),"id":19,"name":"jack19"}{"_id":ObjectId("5fb8cbdbd6fe33bb8d9a362f"),"id":20,"name":"jack20"}
Type "it"for more #一次显示20条,想看更多,输入it
> db.createCollection('test') #创建集合
{"ok":1}> show tables
info
test
> db.test.drop() #删除集合(表),当此库仅剩一个集合时,无法删除
true
> show tables
info
> use myschool
switched to db myschool
> db.createCollection('a'){"ok":1}> use myschool
switched to db myschool
> db.dropDatabase() #删除数据库
{"dropped":"myschool","ok":1}> use school
switched to db school
> db.info.count() #统计
100
kgcrs:PRIMARY> db.users2.find().limit(10) #查看前10行数据
数据库导入导出
导出数据库
[root@promote mongodb]# mongoexport -d school -c info -o /opt/school.json #导出数据库,-d知道数据库,-c指定集合,-o指定保存路径
2020-11-21T17:09:03.805+0800 connected to: localhost
2020-11-21T17:09:03.806+0800 exported 100 records
[root@promote mongodb]# vim /opt/school.json
{"_id":{"$oid":"5fb8d709d6fe33bb8d9a3680"},"id":1.0,"name":"zhangsan","score":88.0,"hobby":["game","talk","sport"]}{"_id":{"$oid":"5fb8d723d6fe33bb8d9a3681"},"id":2.0,"name":"jack2"}{"_id":{"$oid":"5fb8d723d6fe33bb8d9a3682"},"id":3.0,"name":"jack3"}...
数据库导入
[root@promote mongodb]# mongoimport -d school -c test1 --file /opt/school.json
2020-11-21T17:15:48.146+0800 connected to: localhost
2020-11-21T17:15:48.151+0800 imported 100 documents
条件操作
[root@promote mongodb]# mongoexport -d school -c info -q '{"id":{"$eq":10}}'-o /opt/top10.json #将id为10的记录导出到/opt/top10.json