MongoDB数据库中,创建、查询、更新、删除操作的对象是集合。

1.查看某个数据库中有哪些集合,在此之前需要使用数据库

C:\Windows\system32>mongo
MongoDB shell version: 3.2.10
connecting to: test
> db
test
> show dbs;
chengdu 0.004GB
first 0.000GB
local 0.000GB
> use first;
switched to db first
> show collections;
blog
col
runoob
>

命令解释:

mongo ---> 连接数据库, 在执行之前确保MongoDB数据库服务开启了

db  ---> 查看当前正在使用的数据库

show dbs   --> 查看本地磁盘上那些数据库

use  [DatabaseName]  --> 使用某个(DatebaseName)数据库,若该数据库不存在,则首先创建数据库再使用

show  collections  -->查看当前数据库中的集合

2. 向集合中插入一条数据

> show collections;
blog
col
runoob
> db
first
> user = { 'name':'chengdu',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.insert(user);
WriteResult({ "nInserted" : 1 })
> show collections;
blog
col
runoob
users
>

首先创建了一个文档对象user,然后再将文档user插入集合users

命令解释:

> user = { 'name':'chengdu',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "chengdu", "sex" : "M", "age" : 22 }   --> 创建一个文档对象 user

db.users.insert(user)  -->向集合users中插入文档user,  如果集合users不存在,则先创建集合, 然后再插入文档对象

3.查询当当前集合中的文档对象,有两个方法  find() 和 findOne()。find()查看所有的文档对象,但在shell中最多显示20个。 findOne()查看第一个文档对象,只返回一个文档对象。

> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.findOne();
{
"_id" : ObjectId("584eafa97629396db95535da"),
"name" : "chengdu",
"sex" : "M",
"age" : 22
}
>

具体查询某个文档对象,带参数的查询

> db.users.find({'name':'chengdu'});
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.findOne({'name':'chengdu'});
{
"_id" : ObjectId("584eafa97629396db95535da"),
"name" : "chengdu",
"sex" : "M",
"age" : 22
}
>

4.更新集合中的某个文档对象

> user = { 'name' : 'cd',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "cd", "sex" : "M", "age" : 22 }
> db.users.update({'name' : 'chengdu'}, user);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22 }
>

使用update语句更新原来集合中name为chengdu的文档对象,更新之后 name变为cd

在文档对象上增加一个键

> user
{ "name" : "cd", "sex" : "M", "age" : 22 }
> user.address = 'Shanghai';
Shanghai
> user
{ "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
> db.users.update({'name':'cd'}, user);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
>

5.删除某个文档对象,使用remove()方法

> user1 = { 'name' : 'xiaohong',
... 'sex' : 'F',
... 'age' : 22,
... 'address' : 'Beijing',
... 'qq' : ''}
{
"name" : "xiaohong",
"sex" : "F",
"age" : 22,
"address" : "Beijing",
"qq" : "12345678"
}
> db.users.insert(user1);
WriteResult({ "nInserted" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
{ "_id" : ObjectId("584eb4bd7629396db95535db"), "name" : "xiaohong", "sex" : "F", "age" : 22, "address" : "Beijing", "qq" : "12345678" }
> db.users.remove({'name' : 'xiaohong'});
WriteResult({ "nRemoved" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
>

首先创建了一个文档对象,该文档对象的键和之前文档对象的键的数目不同,然后再将文档对象插入到集合中,MongoDB的一个集合中可以存储键数目不同的文档对象,即可以插入成功,然后使用remove方法将插入的文档删除。

MongoDB 的创建、查询、更新、删除的更多相关文章

  1. 三、MongoDB的创建、更新和删除

    一.MongoDB的下载.安装与部署 二.MongoDB的基础知识简介 三.MongoDB的创建.更新和删除 概要 下面开始学习MongoDB最重要也是最基础的部分:C(创建)R(查询)U(更新)D( ...

  2. TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 常用查询,条件操作符查询,< .<=.>.>=.!= 对应 MongoDB的查询操作符是$lt.$lte.$gt.$gte.$ne ...

  3. MongoDB中的映射,限制记录和记录拼排序 文档的插入查询更新删除操作

    映射 在 MongoDB 中,映射(Projection)指的是只选择文档中的必要数据,而非全部数据.如果文档有 5 个字段,而你只需要显示 3 个,则只需选择 3 个字段即可. find() 方法 ...

  4. Android Sqlite数据库执行插入查询更新删除的操作对比

    下面是在Android4.0上,利用Sqlite数据库的insert,query,update,delete函数以及execSql,rawQuery函数执行插入,查询,更新,删除操作花费时间的对比结果 ...

  5. SQL入门(1): 创建/查询/更新/连接/视图/SSMS简介

    本文介绍SQL的基本查询语句 (1) select... from  * 表示全部, 选择的东西还可以进行简单的运算, 可以列别名 select * from student; -sage from ...

  6. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  7. python 读取 查询 更新 删除 sql2008 类及应用

    import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...

  8. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

  9. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  10. Mongodb 笔记02 创建、更新和删除文档

    创建.更新和删除文档          1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...

随机推荐

  1. android activity在横竖屏切换的时候不重新调用onCreate方法

    在安卓系统中,横竖屏切换会默认重新调用onCreate等生命周期方法,如果此时有一些临时数据没有保存下来,很有可能会导致该数据丢失. 因此我们可以进行以下设置,来避免恒切换时重新调用onCreate方 ...

  2. explain 用法详解

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: expla ...

  3. 解决Eclipse乱码的办法

    如果在项目中,已经配置了过滤器等各种解决编码问题方法,但是始终解决不了问题,那种考虑下修改eclipse环境本身的编码问题. 在Eclipse中导入新的项目的时候,会遇到乱码的问题,而乱码的问题主要集 ...

  4. TSS 任务状态段 详解

    http://blog.163.com/di_yang@yeah/blog/static/86118492201222210725146/1 什么是TSS TSS 全称task state segme ...

  5. 【Linux安全】防止任意用户使用 su 切换到 root

    防止任意用户使用 su 切换到 root 在终端中输入下列命令 vim /etc/pam.d/su (按 i 进行编辑,qw 保存并推出) 在头部加入行: auth required pam_whee ...

  6. Dagger 2: Step To Step

    文/iamwent(简书作者)原文链接:http://www.jianshu.com/p/7505d92d7748著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 假设你已经了解 依赖注 ...

  7. 学习笔记-[Maven实战]-第二章:Maven安装和配置

    在windows上安装Maven 1.检查JDK安装:在CMD下运行以下命令来检查JAVA安装情况: 命令: C:\Documents and Settings\Administrator>ec ...

  8. 惠威的M200MK3的前级电子分频板

    M200MKIII是惠威融合了尖端有源电子分频技术而诞生的全新产品:双4声道运算放大器.高档玻璃纤维电路板.全SMT制作工艺.红宝石滤波电容阵列.进口金属化聚丙稀分频电容.超大功率TDA7294功放芯 ...

  9. 谈谈分布式事务之三: System.Transactions事务详解[上篇]

    在.NET 1.x中,我们基本是通过ADO.NET实现对不同数据库访问的事务..NET 2.0为了带来了全新的事务编程模式,由于所有事务组件或者类型均定义在System.Transactions程序集 ...

  10. 不要浪费人生的每一天 ——Dropbox创始人在麻省理工的演讲 z

    Dropbox 创始人,CEO 德鲁·休斯顿(Drew Houston)近期在美国麻省理工学院的毕业典礼上发表演讲.他向大学生提出了 3 点人生建议:追逐自己感兴趣的事,找到最合适的圈子,以及不要浪费 ...