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知名快递公司技术总监 ) 推荐进入中国前三大民营快递公司之一工作,在此非常感谢他,在此也非常 ...
随机推荐
- [android] 手机卫士自定义组合控件
设置中心 新建SettingActivity 设置GridView条目的点击事件 调用GridView对象的setOnItemClickListenner()方法,参数:OnItemClickList ...
- elasticsearch6.7 01.入门指南(1)
Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎.它可以让您快速.近实时地存储.检索以及分析海量数据.它通常用作那些具有复杂搜索功能和需求的应用的底层引擎或者技术. 下面是 El ...
- 设计模式之访问者模式(Visitor )
访问者模式是一种将数据操作和数据结构分离的设计模式,可以说是面向数据密集型的一种设计方式,数据的结构相对稳定,有明显的分层和分类,而对数据对象的相关操作进行分组.分析等二次加工,这些操作都是由访问者来 ...
- C++桥接模式【转】
https://www.cnblogs.com/jiese/p/3164940.html 将抽象部份与它的实现部份分离,使它们都可以独立地变化. 桥接模式号称设计模式中最难理解的模式之一,关键就是这个 ...
- JS的分号可以省掉吗?
摘要: JavaScript语言从设计之初就是考虑带分号的,使用不带分号的编码规则就要小心点啦. 背景 最近在项目中开始使用新的编码规范,一开始ESLint报一大堆错误,改得我想砸键盘,花了好些时间才 ...
- Kotlin入门(7)循环语句的操作
上一篇文章介绍了简单分支与多路分支的实现,控制语句除了这两种条件分支之外,还有对循环处理的控制,那么本文接下来继续阐述Kotlin如何对循环语句进行操作. Koltin处理循环语句依旧采纳了for和w ...
- linux网络 skb_buff
sbk_buff中的data_len指的是尾部带的page数据的长度,len指的是总共的data的长度,len-data_len是第一个线性buf的数据长度. sk_buff->len:表示当前 ...
- mysql 临时数据突然变大
晚上收到紧报警,一台数据库服务器磁盘空间使用快速从50%使用率到80%.我们生产的数据库都磁盘是>2T 登录机器发现*.myd文件异常大 登入数据库查询进程 mysql>showproce ...
- 5.2Python函数(二)
目录 目录 前言 (一)偏函数 ==1.说明== ==2.原代码== ==3.显示效果== (二)高阶函数 ==1.说明== ==2.源代码== ==3.运行效果== (三)返回值函数 ==1.说明= ...
- 4.7 Sublime Text3 中配置 Python环境 --之上安装Sublime 3
返回总目录 目录: 1.展示效果: 2.缺优分析: 3.下载Sublime Text3 (一)展示效果: 1.能够交互式编写Python代码: 2.可以编写文件式Python代码: 3.能够自动补齐代 ...