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. Java中变量之局部变量、本类成员变量、父类成员变量的访问方法

    变量:局部变量.本类成员变量.父类成员变量 如何访问:如果变量名相同,则采用就近原则,哪个变量离所要调用的访问最近,那就么就输出,优先顺序为:局部变量 > 本类成员变量 > 父类成员变量 ...

  2. ASP.NET MVC4分页Site.CSS

    ASP.NET MVC 4 的基础分页的CSS样式: body { font-family: Calibri,Georgia,"Times New Roman"; margin:; ...

  3. 洛谷P4555 [国家集训队]最长双回文串(manacher 线段树)

    题意 题目链接 Sol 我的做法比较naive..首先manacher预处理出以每个位置为中心的回文串的长度.然后枚举一个中间位置,现在要考虑的就是能覆盖到i - 1的回文串中 中心最靠左的,和能覆盖 ...

  4. Linux 学习笔记之超详细基础linux命令 Part 1

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122   说明:主要是在REHL Server 6操作系统下进行的测试 --字符界面虚拟终端与图形界面之间的切 方法:[ ...

  5. 《数据库系统概念》11-扩展的E-R特性

    ​虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性 一.特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性.比如person可 ...

  6. list中放map的几种方式

    package Test; import java.util.*; public class Test { public static void main(String[] args) { //第一种 ...

  7. Python:GUI之tkinter学习笔记3事件绑定

    相关内容: command bind protocol 首发时间:2018-03-04 19:26 command: command是控件中的一个参数,如果使得command=函数,那么点击控件的时候 ...

  8. 使用wxpy自动发送微信消息(加强版)

    通过使用wxpy自动发送微信消息后,笔者又加强了发送消息,堪称消息爆炸式发送 目前设置的为10秒发送一次,发送9次,每次发送10条内容 import requests import wxpy from ...

  9. python第二十四天-----作业终于完成啦

    作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 15000或自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流 ...

  10. VSCode + PYQT5 + QtDesigner 环境搭建和测试

    目的:编写Python桌面应用程序. 备注:也可以选择VS2017+QtDesigner ,但更喜欢VSCode 第1步:安装PyQt5和PyQt5-tools pip3 install -i htt ...