MongoDB shell

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

可以通过以下2条命令打开shell控制台:

> cd C:\Program Files\MongoDB 2.6 Standard\bin
> mongo

如图所示:

C:\Program Files\MongoDB 2.6 Standard 是MongoDB的安装目录。

在打开shell控制台之前请确保MongoDB服务已启动,如何启动MongoDB可以参考MongoDB入门一:安装与配置

MongoDB shell基本操作

1.添加

> db.blog.insert({"title":"aaa","content":"123","date":new Date()})

添加一条数据使用insert方法,MongoDB会隐式地创建集合blog。如果添加的文档比较复杂,也可以先声明再添加,例如:

> post = {"title":"aaa",
"content":"123",
"author":"Ming Li",
"summary":"This article focuses on Asp.net MVC.",
"date":new Date()
}
> db.blog.insert(post)

2.查询

不带参数的find方法会返回集合里面所有的文档,shell只显示20条。若只是想查看一条数据可以使用findOne方法,不带参数的findOne会返回当前集合中的第一条数据。

findOne方法有一个带参数的重载,参数类型是文档,类似于find的带参数的用法。如果查询不到数据,findOne会返回null,如果查询到了多条数据,findOne会返回第一条。

> db.blog.find()
> db.blog.findOne()

如果想查询集合blog中title为"aaa"的文档,可以给find或findOne添加参数:

> db.blog.find({"title":"aaa"}) //可能会返回多条
> db.blog.findOne({"title":"aaa"}) //只返回1条,如果查询不到数据,则返回null,这多么类似于.net中的FirstOrDefault方法

MongoDB还可以进行更为复杂的查询,这里只做简单介绍。

3.修改

修改使用update方法,update是一个至少有2个参数的方法。

假如集合book下有如下文档:

{"_id":11,"item":"长安乱","publisher":"春风文艺出版社","author":"韩寒","price":20}

要修改书的价格为19可以使用下面的命令:

> db.book.update({"_id":11},{"price":19})

如果想给它增加属性呢?假如我要使价格提高10,并且增加一个stock属性,其值为5,可以使用下面的命令:

> db.book.update(
{"_id":11},
{
$.set:{stock:5},
$.inc:{price:10}
}
)

修改之后的文档:

{"_id":11,"item":"长安乱","publisher":"春风文艺出版社","author":"韩寒","price":29,"stock":5}

MongoDB还可以进行更为复杂的修改操作,这里只做简单介绍。

4.删除

remove用来从数据库中永久性地删除文档。在不使用任何参数的情况下,它会删除集合内的所有文档。它也可以接受一个文档类型的参数以限定条件。

例如下面的命令会删除blog中title为aaa的文档:

> db.blog.remove({"title":"aaa"})

shell的其他常用命令

1.查看db下的所有命令或方法

> db.help() 

2.切换到数据库test,如果test不存在会自动创建

> use test

3.删除当前连接的数据库

> db.dropDatabase() //请谨慎操作

4.查询本地所有数据库名称

> show dbs

5.查询当前数据库下的所有集合

show collections

6.查询当前集合下的文档个数

db.collection.count() //示例:db.blog.count()

7.删除某一个collection

db.collectionName.drop() //请谨慎操作

MongoDB入门三:MongoDB shell的更多相关文章

  1. MongoDB入门三步曲1--安装、基本操作

    mongodb 基本操作 目录 mongodb安装 mongod启动 mongo shell启动 mongod 停止 mongodb基本操作:CRUD 数据插入 数据查询 数据更新 数据删除 集合删除 ...

  2. MongoDB入门三步曲3--部署技术:主备、副本集和数据分片

    mongodb部署--主备.副本及数据分片 主备复制 副本集 数据分片 主备复制 主备复制是最基本的一种多点部署方案,在读写分离.热备份.数据恢复等方面具有重要作用. 在真实的生产环境,主备库肯定需要 ...

  3. MongoDB入门三步曲2--基本操作(续)--聚合、索引、游标及mapReduce

    mongodb 基本操作(续)--聚合.索引.游标及mapReduce 目录 聚合操作 MapReduce 游标 索引 聚合操作 像大多关系数据库一样,Mongodb也提供了聚合操作,这里仅列取常见到 ...

  4. MongoDB入门三

    MongoDB字段问题  增删查改操作 删除一列操作db.RiderReaTimePositon.update({},{$unset:{'CreateTime':''}},false,true)db. ...

  5. MongoDB入门教程三[数据类型]

    MongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null.布尔.数字.字符串.数组及对象),不 ...

  6. mongodb入门教程

    title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...

  7. MongoDB入门必读(概念与实战并重)

    MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...

  8. mongoDB 入门手册

    MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...

  9. MongoDB 入门之基础 DCL

    此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...

随机推荐

  1. JDK环境变量的配置方法

    1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:jdk的目录,比如d:/java 3. 选择“系统变量”中变量名为“Path”的环 ...

  2. Java开源框架推荐(全)

    Build Tool Tools which handle the buildcycle of an application. Apache Maven - Declarative build and ...

  3. 销傲销售过程GSP管理系统功能概述

    1      公司介绍 西安海思威软件有限公司于2009年2月注册成立,海思威软件公司隶属于海思威集团,位于交通十分便利的西安经济技术开发区.公司致力于中国本土式销售管理的研究与管理软件产品的开发,是 ...

  4. LM-Sensors unable to load driver module

    Fix - sort of - for LM-Sensors unable to load driver module In short: In /etc/default/grub set GRUB_ ...

  5. AsyncTask实现断点续传

    之前公司里面项目的下载模块都是使用xUtils提供的,最近看了下xUtils的源码,它里面也是使用AsyncTask来执行异步任务的,它的下载也包含了断点续传的功能.这里我自己也使用AsyncTask ...

  6. 软件设计之UML—UML中的六大关系

    一.UML中的六大关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation), ...

  7. [AYUI]QQ管家源码已经开源

    (0-50元 黑色字体     享受AY 1周的 ayui 技术问答) (50-100元 绿色字体 享受AY 15天的 ayui 技术问答) (100-150元 蓝色字体 享受AY 20天的 ayui ...

  8. vi命令示例大全

    1.      进入vi l vi filename: 打开或新建文件,并将光标置于第一行首 l vi +n filename:打开文件,并将光标置于第n行首 l vi + filename:打开文件 ...

  9. ios开发中的C语言学习—— 结构体简介

    在开发过程中,经常会需要处理一组不同类型的数据,比如学生的个人信息,由姓名.年龄.性别.身高等组成,因为这些数据是由不同数据类型组成的,因此不能用数组表示,对于不同数据类型的一组数据,可以采用结构体来 ...

  10. Android软件安全开发实践(下)

    Android开发是当前最火的话题之一,但很少有人讨论这个领域的安全问题.本系列将分两期,探讨Android开发中常见的安全隐患和解决方案.第一期将从数据存储.网络通信.密码和认证策略这三个角度,带你 ...