MongoDB基本操做

上篇文章咱们简单介绍了MongoDB安装以及启动命令,本文咱们来看看基本的增删改查,对MongoDB有一个直观的认识。 shell

本文是MongoDB系列的第二篇文章,了解前面的文章有助于更好的理解本文:数据库


1.Linux上安装MongoDBjson


客户端安装配置

上篇文章咱们提到能够在MongoDB启动成功以后经过mongo命令进入MongoDB客户端,而后在客户端输入操做命令执行增删改查等操做。固然,咱们也能够经过一些客户端工具来链接MongoDB,好比Robo 3T。 服务器

首先咱们下载Robo 3T(下载地址https://robomongo.org/download),下载成功以后解压,找到.exe可执行文件双击启动,启动后新建一个链接,输入ip地址(注意链接以前要确保Linux上的MongoDB已经启动),以下: 函数

图片描述

链接成功以后,咱们就能够看到数据库的信息了,以下: 工具

图片描述

shell简介

暂时咱们全部的操做都先放在test数据库中进行(默认状况下,test数据库为空,这里不显示空的数据库,此时执行能够选中CentOS菜单,右键单击点击Open Shell,默认打开test数据库),选中test,右键单击,选择Open Shell,以下: spa

图片描述

这里的shell是一个功能完整的JavaScript解释器,能够运行JavaScript程序,这个很好玩,以下我定义一个函数而后调用: 命令行

图片描述

函数定义和调用的代码写好以后,按左上角的三角符号表示运行,也能够按F5或者Ctrl+Enter组合键。咱们也能够调用JavaScript的标准函数库,以下: code

图片描述

再好比调用Date函数,以下: blog

图片描述

若是咱们没有使用Robo 3T工具,而是直接在命令行经过mongo命令来启动shell,以下:

图片描述

此时,shell会链接到MongoDB服务器的test数据库,并将数据库链接赋值给全局变量db,咱们将经过db这个变量实现不少功能,咱们也能够查看db当前指向哪一个数据库,直接使用db命令,以下:

图片描述

再好比咱们能够经过use命令来切换数据库(上文中也有用到过),以下:

图片描述

在添加以前咱们先来讲说数据库的建立,上文咱们提到了use命令,表示切换到某一个数据库中去,若是咱们想切换到一个并不存在的数据库中去,系统就会自动的帮咱们建立这个数据库。可是一个空的数据库系统并不会显示出来,往这个数据库中插入一条记录,咱们就能够看到数据库存在了,以下:

图片描述

在MongoDB中,咱们插入的每一条记录都是一个json字符串,这个json字符串咱们称做文档,多个文档能够组成一个集合,这个文档就相似于咱们关系型数据库中的一行数据,而集合就相似于关系型数据库中的一张表,集合也不用专门去建立,直接输入向哪一个集合中插入数据便可,此时集合就会被自动的建立出来了。

固然咱们也能够批量的添加文档,以下(批量添加同样也可使用insert方法来完成):

db.sang_collect.insertMany([{x:1},{x:2},{x:3}])

若是在插入某一个文档时出错,则其后面的文档就会插入失败,而在其以前已经插入的文档则不受影响,以下:

db.sang_collect.insertMany([{_id:99,x:99},{_id:99,x:98},{_id:97,x:97}])

因为第二个文档的_id字段与前面的重复,因此第二第三个文档插入失败,第一个文档则插入成功。

数据添加成功以后咱们再来看看查询,利用db.sang.find()方法咱们能够查看全部文档(全部记录),若是只查看一个文档(一条记录),能够经过db.sang.findOne()命令,在查看以前我先用一个for循环多插入几条数据,以下:

图片描述

而后分别调用find和findOne方法查看,以下:

图片描述

查出来的数据除了咱们插入的x以外,还有一个_id字段,这是系统自动为咱们添加的字段,咱们也能够本身传入_id,可是_id字段不能重复,以下:

图片描述

find和findOne中也能够传入查询参数,这个咱们后面再详细说。

update操做能够用来更新数据,它接收两个参数,第一个参数表示更新条件,第二个参数表示要更新的数据,好比我将全部x:1的数据改成x:999,以下:

图片描述

remove操做能够用来删除数据,以下:

图片描述

shell其余操做

咱们也能够将要执行的脚本放在一个js文件中,在使用shell脚本时指定要执行的js文件,以下:

mongo ~/myjs.js

shell会依次执行js中的脚本,并在执行完成后退出。以下:

图片描述

个人js脚本中是两行插入语句,此时咱们从新进入到shell中,就能够看到刚刚的数据已经插入成功了。

若是有每次启动都要加载的js文件,咱们能够将其内容放在.mongorc.js文件中,该文件放在当前用户目录下,以下:

图片描述

这样,每次启动都会打印一个"你好,欢迎使用MongoDB".

好了,MongoDB的基本操做咱们先说这么多,让各位小伙伴对MongoDB有一个基本的认识,后面的文章咱们会详细的介绍MongoDB中增删改查的各类状况,敬请关注。

参考资料:

1.《MongoDB权威指南第2版》

更多资料请关注公众号:
图片描述

相关文章
相关标签/搜索