MongoDB shell 介绍
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 介绍的更多相关文章
- Python MongoDB使用介绍
		MongoDB介绍 MongoDB是一个面向文档的,开源数据库程序,它平台无关.MongoDB像其他一些NoSQL数据库(但不是全部!)使用JSON结构的文档存储数据.这是使得数据非常灵活,不需要的S ... 
- MongoDB入门三:MongoDB shell
		MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ... 
- [转载]MongoDB学习(三):MongoDB Shell的使用
		MongoDB shell MongoDB自带简洁但功能强大的JavaScript shell.JavaScript shell键入一个变量会将变量的值转换为字符串打印到控制台上. 下面介绍基本的操作 ... 
- MongoDB入门教程二[MongoDB Shell 简介与使用]
		MongoDB Shell 是MongoDB自带的JavaScript Shell,随MongoDB一同发布,它是MonoDB客户端工具,可以在Shell中使用命令与MongoDB实例交互,对数据库的 ... 
- MongoDB 基础命令 (MongoDB Shell)
		1.我们 mongodb 安装成功后,用上一篇的方法启动 mongodb服务 然后使用 mongodb shell 来做数据库的增删改查 2.创建数据库 语法: use 数据库名称 案例: > ... 
- mongodb shell之使用js(二)
		mongodb shell之使用js(二) mongodb shell不仅是个交互式shell,还能够使用js脚本进行访问. 使用js脚本进行交互的优点与缺点 (1)无需任何驱动或语言支持: (2)方 ... 
- MongoDB Shell
		MongoDB Shell 1.连接指定主机及数据库 mongo 127.0.0.1:30000/myDB 链接到127.0.0.1的30000端口的myDB 2.启动后连接指定数据库 *.&qu ... 
- shell介绍
		shell介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一:学好shell的3个基本条件: 1.vi/vim编辑器的熟练使用,ssh终端及".vimrc" ... 
- MongoDB应用介绍之前
		MongoDb企业应用实战(一) 写在MongoDB应用介绍之前 故事背景: 本人有幸,经老友( 现为x知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常 ... 
随机推荐
- JS如何判断一个对象是否为空、是否有某个属性
			一.js判断一个对象是否为空 方法一: let obj1 = {} let obj2 = {a:1} function empty(obj){ for (let key in obj){ return ... 
- CSS图片两端对齐,自适应列表布局末行对齐修复实例页面
			写在前面 前端开发,图片两端对齐,是十分常见的,也是十分痛苦的,我试过好多方法,通过整理,认为下面还是比较靠谱的,在实践中大家可以试试,欢迎一起学习,一起进步 HTML代码 HTML代码非常简单,用的 ... 
- 小程序和PHP学习笔记 ----- 不定期更新。
			学习tp5和小程序过程需要记住的重点记录 1,box-sizing: border-box; 规定两个并排的带边框的框 border-box 为元素设定的宽度和高度决定了元素的边框盒. 就是说,为元素 ... 
- 前端开发周报: CSS 布局方式方式与JavaScript数据结构和算法
			前端开发周报:CSS 布局方式与JavaScript动画库 1.常见 CSS 布局方式详见: 一些常见的 CSS 布局方式梳理,涉及 Flex 布局.Grid 布局.圣杯布局.双飞翼布局等.http: ... 
- Java执行sh等
			1.通过java代码,调用bat.shell等脚本或者命令 1)使用Runtime的exec()方法,会返回一个用于管理操作系统进程的Process对象 Process process =null; ... 
- Jmeter进阶篇之逻辑控制器
			最近,遇到了一个困扰很多人的问题.情景如下: 业务流程:登录一个网站,反复进行充值. 通常的做法是使用jmeter对登录和充值的接口进行反复的执行: 但是实现的方法却不能完美的贴合业务流程.并且,在进 ... 
- python练习:http协议介绍
			一.HTTP协议 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Interne ... 
- JAVA学习笔记:注释、变量的声明和定义、
			本文内容: 注释 变量的声明和定义 成员变量和局部变量 首发时间:2018-03-16 15:59 注释: 单行注释:// 多行注释:/* - */ 变量: 变量是内存中的一个存储区域,变量的定义就是 ... 
- go 排序sort的使用
			已知一个的struct组成的数组,现在要按照数组中的一个字段排序.python有sort方法,那golang要怎么实现呢?其实golang也有sort方法,并且使用简单,功能强大. 我们先看一下sor ... 
- [20171206]rman与truncate2.txt
			[20171206]rman与truncate2.txt --//上午测试发现truncate的表在做rman备份时还要做8个extents的备份.--//不知道自己的猜测是否正确,选择一个使用UNI ... 
