MongoDB的安装及常用操作命令

62次阅读
没有评论

共计 5475 个字符,预计需要花费 14 分钟才能阅读完成。

这篇文章主要讲解了“MongoDB 的安装及常用操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“MongoDB 的安装及常用操作命令”吧!

环境:centos7

Ip:172.16.200.48

………………………………………………………………………………….

一、Mongodb 的安装与启动

1、mongo 的安装

步骤 1、下载:

# cd /usr/local/src/ # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.3.tgz # tar -zxvf mongodb-linux-x86_64-rhel70-3.4.3.tgz

步骤 2、配置环境变量

# vim /etc/profile

添加一下内容:

export MONGODB_HOME=/usr/local/mongodb export PATH=$MONGODB_HOME/bin:$PATH

步骤 3、查看 mongodb 版本信息

# mongod -v

安装成功。

2、mongo 的启动

步骤 4、创建数据库目录 (MongoDB 需要自建数据库文件夹)

# mkdir -p /data/mongodb # mkdir -p /data/mongodb/log # touch /data/logs/mongodb/mongodb.log

步骤 5、添加配置文件

新建 mongodb.conf 配置文件, 通过这个配置文件进行启动.

# vim /etc/mongodb.conf

配置文件参数说明:

mongodb 的参数说明:

–dbpath 数据库路径 (数据文件)

–logpath 日志文件路径

–master 指定为主机器

–slave 指定为从机器

–source 指定主机器的 IP 地址

–pologSize   指定日志文件大小不超过 64M. 因为 resync 是非常操作量大且耗时,*** 通过设置一个足够大的 oplogSize 来避免 resync(默认的  oplog 大小是空闲磁盘大小的 5%)。

–logappend 日志文件末尾添加

–port 启用端口号

–fork 在后台运行

–only 指定只复制哪一个数据库

–slavedelay 指从复制检测的时间间隔

–auth 是否需要验证权限登录 (用户名和密码)

配置文件内容:

dbpath=/data/mongodb

logpath=/data/logs/mongodb/mongodb.log

logappend=true

port=27017

fork=true

##auth = true # 先关闭, 创建好用户在启动

步骤 6、通过配置文件启动

# mongod -f /etc/mongodb.conf ## 启动 

出现 successfully 表示启动成功了。

说明

MongoDB 的启动:

不建议用 service mongod start 或者 chkconfig mongod  on 来启动 MongoDB,因为 mongod 每次启动需要带参数,不然会造成错误;

建议用 mongod 命令来启动,先设置好配置文件 /etc/mongod.conf 后,每次手动用命令启动:mongod -f  /etc/mongodb.conf

或者设置开机重启:echo“mongod ndash;f /etc/mongod.conf”/etc/rc.d/rc.local

MongoDB 的关闭

不建议使用强制关闭 MongoDB:service mongod stop

推荐使用:从 mongodb 的 admin 中关闭

 use admin switched to db admin   db.shutdownServer() server should be down...

或者 mongod –shutdown

使用 shutdownServer 关闭 MongoDB,如有 MongoDB 主从服务器,则在服务关闭前同步主从服务器; 强制关闭则不会;

步骤 7、进入 mongodb 的后台管理 shell

# cd /usr/local/mongodb/bin # ./mongo

步骤 8、创建数据库

 use test  创建数据库 test

使用 use DATABASE_NAME 创建一个数据库。如果数据库不存在,则创建数据库,否则切换到指定数据库。

二、Mongo 中常用命令

[root@snails ~]# ps -ef|grep mongod [root@snails ~]# mongo --host=127.0.0.1 --port=27017 MongoDB shell version: 3.2.7 connecting to: 127.0.0.1:27017/test  show dbs # 显示数据库列表  show collections # 显示当前数据库中的集合 (类似关系数据库中的表)  show users # 显示用户  use  db name  # 切换当前数据库,如果数据库不存在则创建数据库。 db.help() # 显示数据库操作命令,里面有很多的命令  db.foo.help() # 显示集合操作命令,同样有很多的命令,foo 指的是当前数据库下,一个叫 foo 的集合,并非真正意义上的命令  db.foo.find() # 对于当前数据库中的 foo 集合进行数据查找 ( 由于没有条件,会列出所有数据)  db.foo.find( { a : 1 } ) # 对于当前数据库中的 foo 集合进行查找,条件是数据中有一个属性叫 a,且 a 的值为 1  db.dropDatabase() # 删除当前使用数据库  db.cloneDatabase( 127.0.0.1) # 将指定机器上的数据库的数据克隆到当前数据库  db.copyDatabase(mydb ,  temp ,  127.0.0.1) # 将本机的 mydb 的数据复制到 temp 数据库中  db.repairDatabase() # 修复当前数据库  db.getName() # 查看当前使用的数据库,也可以直接用 db  db.stats() # 显示当前 db 状态  db.version() # 当前 db 版本  db.getMongo() # 查看当前 db 的链接机器地址  db.serverStatus() # 查看数据库服务器的状态 

三、Shell 中的基本操作:增删改查

1. # mongo

启动 mongodb 数据库

2. db

可以查看 db 当前指向哪个数据库

3. 进入数据库 use test;

使用 use DATABASE_NAME 使用 use   数据库名就可以切换全局变量 db 当前指向的数据库。注意:use 操作同时可以创建数据库,如果 use+ 一个不存在的数据库名,则 use 执行后,MongoDB 会创建对应数据库。

4. 查询数据库 show dbs; (要显示数据库必须插入至少一条文档)

5. 删除数据库 db.dropDatabase();

6. 创建、删除集合

createCollection() 方法

db.createCollection(name, options)

在命令中, name 是要创建的集合的名称. Options 是一个文件,用于指定配置的集合

删除集合:drop() 方法

db.COLLECTION_NAME.drop() 是用来从数据库中删除一个集合

#创建集合  # 进入数据库 mongos  use test; mongos  db.createCollection(mycollection) {  ok  : 1 } mongos  show collections; #查看集合  mycollection #删除集合  # 进入数据库 mongos  use testdb; mongos  show collections; mycollection mongos  db.mycollection.drop(); true mongos  show collections;

7. 插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)

插入文档

 use test switched to db test   db.col.insert({name: morris ,age:22}) WriteResult({  nInserted  : 1 })

以上实例中 col 是集合名,如果该集合不在该数据库中,MongoDB 会自动创建该集合并插入文档。

查看已插入的文档

 db.col.find() {  _id  : ObjectId( 56e12c22de2a8692a3099065),  name  :  morris ,  age  : 22 }

在我们插入文档的时候,如果我们没有为该文档指定_id,mongodb 将会为我们的文档自动创建一个不会重复的 ObjectId

有条件的查询已插入文档

db.[集合名].find(  query ,  projection  ) #   db.user.find({name: user2}) ## 查询 name 为 user2 这条记录  #   db.user.find({name: user2},{age:1}); ##  查询 name 为 user2 这条记录的 age 字段 

定义变量插入文档

  doc={name: jack ,age:20} {  name  :  jack ,  age  : 20 }   db.col.insert(doc) WriteResult({  nInserted  : 1 })  db.col.find() {  _id  : ObjectId( 56e12c22de2a8692a3099065),  name  :  morris ,  age  : 22 } {  _id  : ObjectId( 56e12f49de2a8692a3099068),  name  :  jack ,  age  : 20 }

插入文档也可以使用 db.col.save(document) 命令。如果不指定_id   字段 save() 方法类似于 insert() 方法。如果指定_id 字段,则会更新该_id 的数据。

插入多个文档

如果我们在 insert 中传入了多个文档,mongodb 只会插入 *** 个文档,下面的代码中只插入了 *** 个文档。

 db.user.find()   db.user.insert({name: user1},{name: user2})   db.user.find() {  _id  : ObjectId( 519cd757f83727a8baf0a8e2),  name  :  user1  }

如果我们想一次插入多个文档,可以将多个文档组合成一个数组,这样就能够插入成功了,例子代码如下:

 db.user.find()   db.user.insert([{name: user1},{name: user2}])   db.user.find() {  _id  : ObjectId( 519cd842f83727a8baf0a8e3),  name  :  user1  } {  _id  : ObjectId( 519cd842f83727a8baf0a8e4),  name  :  user2  }

我们可以使用 javascript 批量插入数据。由于 mongodb shell 简单的说就是一个 javascript  shell 所以 javascript 代码可以在 mongodb  shell 中运行,所以我们可以使用 javascript 代码进行批量插入数据,例如我们插入 10 个用户到 user 集合中,代码如下:

 for(i=1;i i++){ ... db.user.insert({_id:i,name: user +i,age:10+i}) ... }

8. 更新文档

# 显示集合文档  mongos  db.col.find(); {  _id  : ObjectId( 55113e5477eaee1608881c84),  name  :  antian  } # 更新文档  mongos  db.col.update({name : antian},{name : wuhan}); # 显示集合文档  mongos  db.col.find(); {  _id  : ObjectId( 55113e5477eaee1608881c84),  name  :  wuhan  }

9. 删除文档

# 删除文档内容  mongos  db.col.remove({name : antian}); # 删除集合:db.col.drop();

10. 限制记录

mongos  db.col.find({},{ sip :1,_id:0}).limit(2);

11. 排序文档

降序

mongos  db.col.find({},{ age :1,_id:0}).sort({age :-1});

升序

mongos  db.col.find({},{ age :1,_id:0}).sort({age :1});

12. 创建索引

mongos  db.col.ensureIndex({id :1})

感谢各位的阅读,以上就是“MongoDB 的安装及常用操作命令”的内容了,经过本文的学习后,相信大家对 MongoDB 的安装及常用操作命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计5475字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)