MongoDB集合中的文档管理

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

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

一、将文档添加到集合中

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

二、在集合中查找文档

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

三、从集合中删除文档

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

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

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

四、更新集合中的文档

其实对于集合的管理在第一篇博客Window环境下配置Mongodb数据库中也有简单的提到,这次呢还是简单的说一下,较复杂的后面会请听下回分解。

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解MongoDB中创建集合与删除集合的操作方法

    创建集合:createCollection() 方法 MongoDB db.createCollection(name, options) 是用来创建集合. 语法: 基本的 createCollection() 命令语法如下: db.createCollection(name, options) 在命令中, name 是要创建的集合的名称. Options 是一个文件,用于指定配置的集合 参数 类型 描述 Name String 要创建的集合名称 Options Document (可选)指定有

  • MongoDB集合的增删改查管理

    上一博客学了数据库的管理,今天学习下集合的管理.对于这些基本都是增删改查. 一.显示数据库中的集合列表 参考之前显示数据库的列表可以猜测下可能也是使用show,集合的话那可能是复数形式,因为数据库列表是show dbs,集合那可能是show 集合s.然后看出还真是,使用show collections. 二.创建集合 在上一博客创建数据库的时候也提到过,创建数据库并没有明确的语句,要创建一个数据库句柄 然后创建一个集合才会有数据库.不过创建集合的时候还有一个可选属性. capped:布尔值,tr

  • MongoDB基础之集合操作

    一.创建集合 本章节我们为大家介绍如何使用 MongoDB 来创建集合. MongoDB 中使用 createCollection() 方法来创建集合. 语法格式: db.createCollection(name, options) 参数说明: name: 要创建的集合名称 options: 可选参数, 指定有关内存大小及索引的选项 options 可以是如下参数: 在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段. 实例 在 test 数据库中创建 r

  • MongoDB实现创建删除数据库、创建删除表(集合 )、数据增删改查

    一. 数据库使用 开启 mongodb 服务:要管理数据库,必须先开启服务,开启服务使用 mongod --dbpath c:\mongodb 管理 mongodb 数据库:(一定要在新的 cmd 中输入) mongo 清屏: cls 查看所有数据库列表 show dbs 二. 创建数据库 使用数据库.创建数据库 use student 如果真的想把这个数据库创建成功,那么必须插入一个数据.数据库中不能直接插入数据,只能往集合(collections)中插入数据.不需要专门创建集合,只需要写点语

  • MongoDB基础入门之创建、删除集合操作

    创建集合 语法格式 db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max <number>}) 参数说明 name: 要创建的集合的名称 options: 可选参数,指定有关内存大小及索引的选项 options参数说明 参数名 参数类型 参数说明 capped 布尔 如果为 true,则创建固定集合.默认为不启用<br />

  • MongoDB在不同主机间复制数据库和集合的教程

    1. db.cloneCollection() db.cloneCollection(from, collection, query) 在不同的mongodb实例间复制数据,db.cloneCollection是cloneCollection数据库命令的一个外在体现. function (from, collection, query) { assert( isString(from) && from.length ); assert( isString(collection) &

  • MongoDB集合中的文档管理

    上一博客写了集合的管理,集合里面存放的是文档,因此聪明的你应该能想到这篇是学习文档管理.要说标题应该是文档管理,不过对于文档的管理都是先获得集合对象,在集合对象上调用方法管理文档,所以标题还是对集合的管理. 在集合管理中,要管理集合首先要获得这个集合,同样文档管理也是要先获得集合对象,然后通过集合对象管理文档. 一.将文档添加到集合中 为什么要先说添加呢,因为不添加就没法说下面的查找.将文档添加到一个集合中,首先需要得到集合对象,通过几个对象调用insert(document)或save(doc

  • MongoDB中对文档的增删查改基本操作方法总结

    插入文档:insert() 方法 要插入数据到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法. 语法: insert() 命令的基本语法如下: >db.COLLECTION_NAME.insert(document) 例子:  >db.mycol.insert({    _id: ObjectId(7df78ad8902c),    title: 'MongoDB Overview',     description: 'MongoDB is

  • MongoDB修改、删除文档的域属性实例

    由于本博使用的博客程序是边开发边使用的,所以开发过程中动态创建了某些现在不需要的属性 MongoDB 是无 Schema 的,不像关系数据库那样列属性定义在表而非记录中,MongoDB 的集合中的每个文档可以拥有各自不同的域属性. MongoDB 中使用 db.collections.update 修改集合中若干文档的域属性,使用 $set 增加域,$unset 删除域. 删除集合中所有文档的一个域 复制代码 代码如下: db.posts.update({}, { $unset: { delet

  • MongoDB基础之查询文档

    目录 一.查询文档 实例 二.条件操作符 MongoDB 与 RDBMS Where 语句比较 举例:使用 (<) 和 (>) 查询 - $lt 和 $gt 三.AND 条件 四.OR 条件 五.AND 和 OR 联合使用 六.$type 操作符 描述 七.Limit与Skip方法 Limit() 方法 Skip() 方法 实例 八.排序 九.聚合 管道的概念 一.查询文档 MongoDB 查询文档使用 find() 方法.以非结构化的方式来显示所有文档. MongoDB 查询数据的语法格式如

  • PHP库 查询Mongodb中的文档ID的方法

    在IBM我的一份新工作是一名开发的后勤人员.那意味着我的大部分时间是在和数据库打交道.在我的工作流程中,我花了一些时间在MongoDB上面--这是一个文档数据库.但是在通过ID来检索记录这个操作上面我碰到了一些问题.下面的代码是最终版本,以后碰到类似的问题我可以直接引用它.如果大家也需要,希望下面对大家有所帮助. MongoDB 和 IDs 当我向一个集合中插入数据的时候,我并没有设置_id字段:如果这个字段是空的话,那么MongoDB将要自动生成一个ID来使用,这对我来说是非常不错的.然而,当

  • MongoDB如何更新多级文档的数据

    目录 嵌套数组更新 更新下级文档的属性 属性增加和移除 总结 嵌套数组更新 以下面的数据(数据集名称为author)为例: {name: '岛上码农', documents: ['Flutter入门与实战', '高性能MySQL', 'MongoDB专业指北']} 我们需要将 MongoDB专业指北改成MongoDB不专业指北,就属于修改嵌套的文档数据了.这个时候需要使用到 MongoDB 提供的定位操作符$.定位操作符即表示将对应条件匹配到的数据,如: db.author.update( {n

  • SQLServer中JSON文档型数据的查询问题解决

    近日在项目中遇到一个问题: 如何在报表中统计JSON格式存储的数据? 例如有个调查问卷记录表,记录每个问题的答案. 其结构示意如下(横表设计) Id user date Q1_Answer Q2_Answer Q3_Answer 行Id 答题用户 答题日期 问题一结果 问题二结果 问题三结果 在[Q1_Answer].[Q2_Answer].[Q3_Answer]中记录的数据格式是JSON文档内容,因为是选项值,而且考虑到可能有多选, 所以存储的格式如下: 1 [ {"code":&q

  • 关于JS与jQuery中的文档加载问题

    jquery中的$(document).ready()类似于javascript中的window.onload(),但是其中还是有很大区别的 1.jquery中的可以简化为$().ready(),$(function),   而js却不行必须全部写完. 2.同时js的window.onload()只能有一个,而jquery的$(document).ready()却可以有多个. 3.最重要的一点是window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.   $(documen

  • 对tensorflow中cifar-10文档的Read操作详解

    前言 在tensorflow的官方文档中得卷积神经网络一章,有一个使用cifar-10图片数据集的实验,搭建卷积神经网络倒不难,但是那个cifar10_input文件着实让我费了一番心思.配合着官方文档也算看的七七八八,但是中间还是有一些不太明白,不明白的mark一下,这次记下一些已经明白的. 研究 cifar10_input.py文件的read操作,主要的就是下面的代码: if not eval_data: filenames = [os.path.join(data_dir, 'data_b

  • Java程序中Doc文档注释示例教程

    目录 Doc注释规范 @符号的用处 如何生成Doc文档 第一个:Dos命令生成 第二个:IDE工具生成 许多人写代码时总不喜欢写注释,每个程序员如此,嘿嘿,我也一样 不过,话说回来,该写还是要写哦!没人会喜欢一个不写注释的程序员,当然,也没有一个喜欢写注释的程序员,今天,我们就来说说Java注释之一--Doc注释 我们知道,Java支持 3 种注释,分别是单行注释.多行注释和文档注释,我们来看看他们的样子 //单行注释   /* 多行注释 */   /** *@... *.... *文档注释 *

随机推荐