MongoDB shell 介绍

MongoDB自带javascript shell, 可在shell中使用命令行与MongoDB实列交互。shell可以执行管理操作,检查运行实列等等操作。

一:如何运行shell?
在命令行中,运行mongo, 就可以启动shell,如下命令:

注意:启动时,shell将自动连接MongoDB服务器,必须确保mongod已经启动。

shell是一个功能完备的javascript解析器,可以运行任意的javascript程序。我们请看如下几个简单的demo。

它还可以定义和调用Javascript函数,如下代码命令:

二:MongoDB客户端
运行命令 mongo后,shell会连到 MongoDB服务器的test数据库,并将数据库的链接赋值给全局变量db。
注意:db这个变量是通过shell访问MongoDB的主要入口点。

如果现在我们想要查看db当前指向那个数据库,可以使用db命令,如下所示:

shell还包含一些非Javascript语法的扩展,比如选择数据库操作这些~ 如下代码:

如果现在查看db变量,会发现其正指向foobar数据库,如下命令:

如上,通过db变量,可以访问其中的集合,比如,通过db.foobar 可返回当前数据库的foobar集合。这意味着,几乎所有的数据库操作都可以通过shell完成。

三:shell中创建,读取,更新,删除操作。
3.1 创建 insert
insert函数可以将一个文档添加到集合中,比如博客的列子,我们创建一个叫post的局部变量,用于表示我们的文档,它会有几个key,分别为 title, content,
和 date(发布日期),如下:

如上,我们使用insert方法将其保存到blog集合中,然后我们调用集合的find方法来查询数据,可以看到数据被查询出来了。我们再来看看如下:

db是指向foobar, db.blog 就是指向了 foobar.blog了;

3.2 读取find和findOne
find和findOne方法可以用于查询集合里的文档,比如想查看一个文档,可以使用findOne; 如下所示:

3.3 更新update。
我们可以使用update来更新数据,update至少接收二个参数,第一个是限定条件(用于匹配待更新的文档)。第二个是新的文档。
比如我们之前的post集合,现在想添加一个新key的话,比如增加 comments键,用于对之前写的博客增加评论功能。那么评论功能肯定是一个数组,因为有多条数据,我们可以看如下所示:

如上命令,先使用 post.comments = []; 向post集合中增加 comments属性,然后我们使用 db.blog.find() 先查询下blog集合,发现先没有comments变量,
然后使用 db.blog.update({title: 'this is blog'}, post); 更新数据,第一个参数是匹配到那一条数据,第二个参数是更新后的数据。最后使用db.blog.find()方法查询后,发现数据更新了。

3.4 删除remove
使用remove方法可将文档从数据库中永久删除,如果没有使用任何参数,只是一个空对象,比如 db.blog.remove({})这样的,它会将集合内的所有文档全部删除,
它还可以接受一个作为限定条件的文档作为参数,比如 db.blog.remove({'title': 'xxx'}); 这样的,这样就会删除 title 为 xxx的数据了;

如下所示:

MongoDB shell 介绍的更多相关文章

  1. Python MongoDB使用介绍

    MongoDB介绍 MongoDB是一个面向文档的,开源数据库程序,它平台无关.MongoDB像其他一些NoSQL数据库(但不是全部!)使用JSON结构的文档存储数据.这是使得数据非常灵活,不需要的S ...

  2. MongoDB入门三:MongoDB shell

    MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...

  3. [转载]MongoDB学习(三):MongoDB Shell的使用

    MongoDB shell MongoDB自带简洁但功能强大的JavaScript shell.JavaScript shell键入一个变量会将变量的值转换为字符串打印到控制台上. 下面介绍基本的操作 ...

  4. MongoDB入门教程二[MongoDB Shell 简介与使用]

    MongoDB Shell 是MongoDB自带的JavaScript Shell,随MongoDB一同发布,它是MonoDB客户端工具,可以在Shell中使用命令与MongoDB实例交互,对数据库的 ...

  5. MongoDB 基础命令 (MongoDB Shell)

    1.我们 mongodb 安装成功后,用上一篇的方法启动 mongodb服务 然后使用 mongodb shell 来做数据库的增删改查 2.创建数据库 语法: use 数据库名称 案例: > ...

  6. mongodb shell之使用js(二)

    mongodb shell之使用js(二) mongodb shell不仅是个交互式shell,还能够使用js脚本进行访问. 使用js脚本进行交互的优点与缺点 (1)无需任何驱动或语言支持: (2)方 ...

  7. MongoDB Shell

    MongoDB Shell   1.连接指定主机及数据库 mongo 127.0.0.1:30000/myDB 链接到127.0.0.1的30000端口的myDB 2.启动后连接指定数据库 *.&qu ...

  8. shell介绍

    shell介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一:学好shell的3个基本条件: 1.vi/vim编辑器的熟练使用,ssh终端及".vimrc" ...

  9. MongoDB应用介绍之前

    MongoDb企业应用实战(一) 写在MongoDB应用介绍之前   故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常 ...

随机推荐

  1. 【IDEA&&Eclipse】4、IntelliJ IDEA上操作GitHub

    IntelliJ IDEA集成了对GitHub的支持,使上传代码到GitHub和从GitHub下载代码更加方便快捷. 1. 分享代码到GitHub 首先需要在IntelliJ配置Git,如果没有正确配 ...

  2. Python全栈学习_day005作业

    ,有如下变量(tu是个元祖),请实现要求的功能 tu = (, , {,,)}, ]) a. 讲述元祖的特性 b. 请问tu变量中的第一个元素 "alex" 是否可被修改? c. ...

  3. BZOJ2820: YY的GCD(反演)

    题解 题意 题目链接 Sol 反演套路题.. 不多说了,就是先枚举一个质数,再枚举一个约数然后反演一下. 最后可以化成这样子 \[\sum_{i = 1}^n \frac{n}{k} \frac{n} ...

  4. 虚拟 DOM

    虚拟DOM :virtual dom(以下简称vdom,是vue和react的核心),使用比较简单. 一,vdom是什么,为何会存在vdom 1,什么是vdom:用js模拟DOM结构,DOM操作非常‘ ...

  5. loadrunner 运行脚本-Run-time Settings之Pacing设置

    运行脚本-Run-time Settings之Pacing设置 by:授客 QQ:1033553122   As soon as the previous iteration ends 前一个迭代一结 ...

  6. 安卓开发之ScrollView

    当界面不足以将所有的内容显示出来的时候便导致下面的部分内容无法显示出来 所有加上ScrollView 来讲要显示的内容放入之中便可以实现上下滚动界面内容 但是当要显示多个控件的时候会出错  原因是Sc ...

  7. (后台)There is already 'jy.controller.jyadmin.JyDealerPackingReturnController' bean method

    项目报了一个错误,百度翻译了一下: “我已经有jy.controller.jyadmin.jydealerpackingreturncontroller豆方法公共org.springframework ...

  8. (小技巧)Sql server查看sql语句的执行时间(转)

    转自CSDN: 在写数据库sql的时候,我们往往很关心该sql语句的执行效率,如下小技巧可以帮助程序员简单快速的得到某条或某几条sql的执行时间. declare @d datetime set @d ...

  9. android recovery 升级UI显示之资源文件

    Recovery只有在升级的时候才会呈现给用户,所以界面一般都很简单,没有android上层那么绚丽,所以recovery下面对图片的支持很有限,仅支持png图片显示,所以我们可以看到,recover ...

  10. [20180319]直接路径读特例12c.txt

    [20180319]直接路径读特例12c.txt --//昨天的测试突然想起以前遇到的直接路径读特例,在12c重复测试看看. 1.环境:SCOTT@test01p> @ ver1 PORT_ST ...