MongoDB之集合管理二
上一博客写了集合的管理,集合里面存放的是文档,因此聪明的你应该能想到这篇是学习文档管理。要说标题应该是文档管理,不过对于文档的管理都是先获得集合对象,在集合对象上调用方法管理文档,所以标题还是对集合的管理。
在集合管理中,要管理集合首先要获得这个集合,同样文档管理也是要先获得集合对象,然后通过集合对象管理文档。
一、将文档添加到集合中
为什么要先说添加呢,因为不添加就没法说下面的查找。将文档添加到一个集合中,首先需要得到集合对象,通过几个对象调用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之集合管理二的更多相关文章
- MongoDB之集合管理一
最近的几篇博客都是关于MongoDB的,虽然个人感觉也没多少知识点,但没想到竟然有转载我的博客的,不管有经过我同意还是没经过我同意,说明写的应该还是有价值的,这也是我写博客的一个动力之一吧.上一博客学 ...
- mongodb用户权限管理(二)
数据库 分配用户权限 有了创建语法,和参数说明,接下来开始实践. 注意,还有一点,账号是跟着数据库绑定的,在那个库里授权,就在那个库里验证(auth) 否则会失败 创建 账号管理授权权限 的账号 &g ...
- MongoDB系列---集合与文档操作03
MongoDB-——Collection 学习大纲: 1.集合操作 2.文档操作 知识回顾: 上一篇我们讲述了如何对MongoDB的权限和用户进行日常的基本操作,来达到我们对数据库的基本安全保障. 一 ...
- MongoDB学习:(二)MongoDB简单使用
MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...
- MongoDB图形化管理工具
NoSQL的运动不止,MongoDB 作为其中的主力军发展迅猛,也带起了一股开发图形化工具的风潮:气死反过来说,看一个产品是否得到认可,可以侧面看其第三方工具的数量和成熟程度:简单的收集了MongoD ...
- mongoDB 删除集合后,空间不释放
mongoDB 删除集合后,空间不释放,添加新集合,没有重新利用之前删除集合所空出来的空间,也就是数据库大小只增不减. 方法有: 1.导出导入 dump & restore 2.修复数据库 r ...
- mongoDB 删除集合后,空间不释放的解决方法
mongoDB 删除集合后,空间不释放,添加新集合,没有重新利用之前删除集合所空出来的空间,也就是数据库大小只增不减. 方法有: 1.导出导入 dump & restore 2.修复数据库 r ...
- mongodb用户权限管理的CRUD
https://blog.csdn.net/weixin_34332905/article/details/88759759?utm_medium=distribute.pc_relevant.non ...
- [转]搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
随机推荐
- 在centos7升级jenkins
找到jenkins的位置 使用下面的命令 ps -aux | grep jenkins enkins 5954 7.9 22.5 2695800 421088 ? Ssl 20:5 ...
- .Net Core 跨平台应用使用串口、串口通信 ,可能出现的问题、更简洁的实现方法
前些天在学习在 .NET Core下,跨平台使用串口通讯,有一篇文章说到在Linux/物联网下,实现通讯. 主要问题出现在以下两个类库 SerialPortStream flyfire.CustomS ...
- C#操作Xml树的扩展类
本文提供一个操作Xml树的扩展类,与将xml字符串直接映射成实体对象的使用方法,供大家参考,学习. 下面附上源码 using System; using System.Collections.Gene ...
- EFCore 2.0引用标量函数
参考文档:https://www.cnblogs.com/CreateMyself/p/8485697.html 1.添加nuget包:EntityFramework.Functions,在上下文类M ...
- Svn和jekins的使用
首先是svn的安装, 在安装svn的服务端时,需要注意选择第二项,这样才能在idea中使用svn, 然后就是在idaa中配置svn插件. 插件的使用 从svn库中检出项目 然后在这个地址中填入你需要导 ...
- 二,mysql优化——sql优化基本概念
1,SQL优化的一般步骤 (1)通过show status命令了解各种SQL执行效率. (2)通过执行效率较低的SQL语句(重点select). (3)通过explain分析低效率的SQL语句的执行情 ...
- 三,PHP缓存机制实现页面静态化
页面静态化思路: 因为新闻这种信息对实时性要求不高,并且比较稳定,所以可以这样做:当地一个用户访问某条新闻后,我们使用ob缓存机制,将内容缓存到html页面.当下一次访问时候,直接访问html页面.这 ...
- 利用Django做一个简单的分页页面
views代码: from django.shortcuts import render from django.conf import settings from booktest.models i ...
- crop和resize操作区别
crop:对图像进行剪切 resize:对图像进行伸缩 实践代码 import cv2 bb2d = [30, 30, 72 ,42] image = cv2.imread('car.png') pt ...
- LeetCode题解-147 对链表进行插入排序 Medium
对链表进行插入排序. 插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插 ...