上一博客写了集合的管理,集合里面存放的是文档,因此聪明的你应该能想到这篇是学习文档管理。要说标题应该是文档管理,不过对于文档的管理都是先获得集合对象,在集合对象上调用方法管理文档,所以标题还是对集合的管理。

在集合管理中,要管理集合首先要获得这个集合,同样文档管理也是要先获得集合对象,然后通过集合对象管理文档。

一、将文档添加到集合中

为什么要先说添加呢,因为不添加就没法说下面的查找。将文档添加到一个集合中,首先需要得到集合对象,通过几个对象调用insert(document)或save(document)方法。document对象是被转换成BSON并存储在集合中的格式正确的JS对象。下面图中使用insert、save两种方式添加文档。

二、在集合中查找文档

查找英文单词有search、find等(学习下英语,毕竟我差一分没过四级,你可能会问除了这两个还有其他的吗?毕竟用的是等,其实我想告诉你我的英文词典中就这两个,其他的我还真不知道有没有)。好,闲篇到此结束。在集合中查找没想到是用find,还没超过我的知识范围.下图中可以看到有使用find([query])方法来查找文档。query指定包含字段和值得查询文档与集合中的文档匹配。

三、从集合中删除文档

删除的话是通过集合对象调用remove([query])来删除。不过这里如果不带query直接使用Remove()来删除则会报错,如下图,如果真想删除所有的可以使用remove({})传一个空js对象。

上面在学习集合中查找添加文档时添加了两个文档。这里又添加了一个文档,方便删除查看效果。

在上面的图中可以看到,直接使用remove()时是报错的。使用remove({})可以删除全部文档。

四、更新集合中的文档

其实对于集合的管理在第一篇博客http://www.cnblogs.com/5ishare/p/5628126.html中也有简单的提到,这次呢还是简单的说一下,较复杂的后面会请听下回分解。

要更新集合中的文档首先应得到该集合。然后使用save(object)方法来保存对某一个对象的更改。也可以使用update(query,update,options)方法来查询集合中的文档,然后在它们被找到时更新它们。 query参数指定了字段和值与集合这的文档匹配的一个查询文档。update参数为一个对象,它指定在作出更新时使用的更新运算符。如$inc递增该字段的值。$设置字段的值,$push将一个条目推送到数组等。 option参数是一个对象,有两个布尔值属性,multi和upsert。upsert为true时若没有找到就创建一个新的文档。如果multi为true,与匹配的所有文档都被更新,否则只有第一个文档被更新。

下图中首先创建了3个文档,然后更新age=25的,不过multi=false,所以只更新第一个文档,还有一个age=25的存在。

对于创建文档也挺有意思,之前都是一个一个的创建,刚才试了下批量创建,下面的图也看到了要使用数组的形式添加.

MongoDB之集合管理二的更多相关文章

  1. MongoDB之集合管理一

    最近的几篇博客都是关于MongoDB的,虽然个人感觉也没多少知识点,但没想到竟然有转载我的博客的,不管有经过我同意还是没经过我同意,说明写的应该还是有价值的,这也是我写博客的一个动力之一吧.上一博客学 ...

  2. mongodb用户权限管理(二)

    数据库 分配用户权限 有了创建语法,和参数说明,接下来开始实践. 注意,还有一点,账号是跟着数据库绑定的,在那个库里授权,就在那个库里验证(auth) 否则会失败 创建 账号管理授权权限 的账号 &g ...

  3. MongoDB系列---集合与文档操作03

    MongoDB-——Collection 学习大纲: 1.集合操作 2.文档操作 知识回顾: 上一篇我们讲述了如何对MongoDB的权限和用户进行日常的基本操作,来达到我们对数据库的基本安全保障. 一 ...

  4. MongoDB学习:(二)MongoDB简单使用

    MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...

  5. MongoDB图形化管理工具

    NoSQL的运动不止,MongoDB 作为其中的主力军发展迅猛,也带起了一股开发图形化工具的风潮:气死反过来说,看一个产品是否得到认可,可以侧面看其第三方工具的数量和成熟程度:简单的收集了MongoD ...

  6. mongoDB 删除集合后,空间不释放

    mongoDB 删除集合后,空间不释放,添加新集合,没有重新利用之前删除集合所空出来的空间,也就是数据库大小只增不减. 方法有: 1.导出导入 dump & restore 2.修复数据库 r ...

  7. mongoDB 删除集合后,空间不释放的解决方法

    mongoDB 删除集合后,空间不释放,添加新集合,没有重新利用之前删除集合所空出来的空间,也就是数据库大小只增不减. 方法有: 1.导出导入 dump & restore 2.修复数据库 r ...

  8. mongodb用户权限管理的CRUD

    https://blog.csdn.net/weixin_34332905/article/details/88759759?utm_medium=distribute.pc_relevant.non ...

  9. [转]搭建高可用mongodb集群(二)—— 副本集

    在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...

随机推荐

  1. JPA注解指南

    PA注解持久化类很方便,需要jar包:ejb3-persistence.jar.我用以下三个类来说明用法. @SuppressWarnings("serial") @Entity ...

  2. Asp.net WebForm 中无法引用App_Code文件夹下的类

    在VS2013中新建asp.net webform应用程序,手动添加"APP_Code"文件夹并新建类文件,发现这些类无法在APP_Code文件夹以外被引用. 解决办法: 选中类文 ...

  3. [ASP.NET]ASP.NET中常用的26个优化性能方法

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...

  4. centos7 安装django

    环境:centos7.4  ,python用的venv 3.6 ,django 2.1 注意点:django2.2再使用venv环境的时候会报SQList版本不足问题,升级数据库太费劲,不如重来 安装 ...

  5. oh-my-zsh 安装及使用

    什么是 oh-my-zsh oh-my-zsh 是基于 zsh 的功能做了一个扩展,方便的插件管理.主题自定义,以及漂亮的自动完成效果. oh-my-zsh 安装及插件安装 查看系统中 zsh 及版本 ...

  6. python 爬爬爬 基本函数~

    https://docs.python.org/2/howto/urllib2.html#data http://zhuoqiang.me/python-urllib2-usage.html #cod ...

  7. elasticsearch 分片(Shards)的理解

    分片重要性 Es中所有数据均衡的存储在集群中各个节点的分片中,会影响ES的性能.安全和稳定性, 所以很有必要了解一下它. 分片是什么? 简单来讲就是咱们在ES中所有数据的文件块,也是数据的最小单元块, ...

  8. Python小白学习之路(十三)—【递归调用】

    一.递归调用定义 在函数内部,可以调用其他函数. 如果在调用一个函数的过程中直接或间接调用自身本身,则称为递归调用 从某种意义上来说,递归调用可以实现无限循环 二.递归调用的特性 必须有一个明确的结束 ...

  9. error: failed to push some refs to 'https://github.com/username/python.git'

    解决error: failed to push some refs to 'https://github.com/bluepen/python.git' 当我们在使用git工具上传我们自己的代码时,可 ...

  10. 关于Ubuntu的默认python版本

    大部分Ubuntu系统默认python版本都是python2.x系列,但最新版本已经是3.5和3.6了,软件系统跟着版本走总是有诸多好处的,所以,以下是作者在修改Ubantu默认python版本时的一 ...