`
落叶留步
  • 浏览: 53284 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mongodb基础知识-内嵌文档相关

 
阅读更多

    在mongodb中字段的值,可以是基本数据类型,也可是是文档类型。这样的话,如果要在内嵌文档中查询,可能需要对内嵌文档的字段建立索引。下面列出一些内嵌文档上的常用操作。

    1. 内嵌文档单个字段建立索引

// 假设单个文档结构如下
{
  "_id": ObjectId("570c04a4ad233577f97dc459"),
  "score": 1034,
  "location": { state: "NY", city: "New York" }
}
// 对location的state字段建立索引
db.records.createIndex( { "location.state": 1 } )
// 这两个查询都可以用到state的索引
db.records.find( { "location.state": "CA" } )
db.records.find( { "location.city": "Albany", "location.state": "NY" } )

    2.  内嵌文档精确匹配查询  基本的语法就是:fieldName: {field1: <value>,...},这种查询的返回的结果满足:内嵌文档只包含查询的字段、内嵌文档字段相应的值完全匹配、内嵌文档字段的顺序和查询中字段的顺序一致。

// 查询语句 
db.bios.find( { name: { first: "Yukihiro", last: "Matsumoto" } } )


// 下面这两种不会被匹配到  一种是字段个数不一致 一种是字段顺序不一致
{
   first: "Yukihiro",
   aka: "Matz",
   last: "Matsumoto"
}

{
   last: "Matsumoto",
   first: "Yukihiro"
}

    3. 内嵌文档部分字段查询  上面的精确匹配太过严格,这样就要用到部分字段查询, 也就是只要查询的字段和值都匹配就返回,不管查询字段的顺序和内嵌文档的字段个数。

// 内嵌文档部分字段查询
db.bios.find( { "name.first": "Yukihiro", "name.last": "Matsumoto" } )

// 下面这两种结构也可以被查询出来
{
  first: "Yukihiro",
  aka: "Matz",
  last: "Matsumoto"
}

{
  last: "Matsumoto",
  first: "Yukihiro"
}

 

分享到:
评论

相关推荐

    MongoDB 使用手册-中文版.docx

    ### MongoDB 使用手册知识点详解 #### 一、MongoDB简介 **功能特点** - **面向文档存储**:MongoDB...这些知识点覆盖了MongoDB的基础介绍、安装配置以及常用的基本命令操作,对于初学者来说是非常有用的参考资料。

    MongoDB权威指南(第二版) - 文字版可复制

    第2章:MongoDB基础知识 - 文档:是 MongoDB 中的基本数据单元,以 JSON/BSON 格式存储。 - 集合:文档的容器,可以包含多个文档。 - 动态模式:集合中的文档可以有不同的结构。 - 命名:集合的名称可以是任意 UTF...

    MongoDB知识点学习手册

    3. **数据结构灵活**:文档可以由基本类型属性、内嵌文档或文档数组组成,这种灵活性使得 MongoDB 能够适应各种不同类型的数据存储需求。 4. **数据格式**:MongoDB 使用 key-value 对的集合形式存储数据,其中键为...

    MongoDB的基础知识简介

    以下是对MongoDB基础知识的详细阐述: 1. 文档、集合和数据库 - **文档**:MongoDB的核心单位是文档,类似于JSON对象,由键值对构成,键为字符串,不可为空。MongoDB文档支持多种数据类型,包括字符串、数字、数组...

    mongodb 学习文档

    本学习文档旨在为初学者提供全面的MongoDB知识,涵盖从基础概念到高级操作的各个方面。 1. MongoDB 概述 1.1 介绍 MongoDB 是一个混合型数据库,融合了文档数据库、键值存储和关系型数据库的特性。它以JSON格式的...

    mongodb学习手册.pdf

    ### MongoDB学习手册精要知识点概览 #### 一、MongoDB简介 MongoDB,源于英文单词“humongous”,意指其设计初衷在于处理海量数据。作为一款开源、面向文档的NoSQL数据库,MongoDB凭借其灵活性和高性能,迅速成为...

    mongodb基础学习

    ### MongoDB基础知识概览 #### MongoDB简介 MongoDB是一款开源、高性能、无模式的文档型数据库管理系统,属于NoSQL数据库的一种。它使用JSON格式的数据结构来存储数据,支持多种数据类型,具备灵活的数据模型,适用...

    mongodb学习手册

    - **文档结构**:文档可以由基本类型属性、内嵌文档或文档数组组成,支持复杂的数据结构。 - **数据格式**:使用BSON(Binary JSON)格式存储数据,这是一种二进制格式的JSON,支持更多的数据类型。 #### 四、...

    mongoDB集群实战.pdf

    以上就是MongoDB集群实战中的主要内容,涉及到了MongoDB的基础知识,以及主从复制模式和副本集部署的知识点。这些知识点对于理解和部署MongoDB集群都是至关重要的,有助于读者在实际工作中更好地运用MongoDB解决数据...

    MongoDB:基本知识

    如何考虑MongoDB 文档模式设计的基本策略呢?一般建议的是先考虑内嵌,但是有一些时候,使用引用则难以避免。 MongoDB是为应用程序设计的,而不是为了存储优化的。如果可以达到最高性能的话,我们甚至可以做一些反...

    Mongodb学习手册

    文档可以包含基本数据类型、内嵌文档或文档数组。 - **数据格式**:MongoDB使用BSON格式存储数据,这是一种类似于JSON的二进制格式,支持多种数据类型,包括字符串、数字、布尔值、日期、二进制数据等。 以上是对...

    MongoDB实战 班克

    在“MongoDB实战 班克”这本书中,作者深入浅出地介绍了MongoDB的基础知识以及实践技巧,旨在帮助读者快速掌握MongoDB的使用。 1. MongoDB基础: - 数据模型:MongoDB采用JSON格式的BSON(Binary JSON)作为数据...

    MongoDB权威指南(中文版)高清

    1098.1.3 停止MongoDB 1108.2 监控 1108.2.1 使用管理接口 1108.2.2 serverStatus 1128.2.3 mongostat 1138.2.4 第三方插件 1138.3 安全和认证 1148.3.1 认证的基础知识 1148.3.2 认证的工作原理 ...

    电子书:MongoDB权威指南(中文版)

    1078.1.2 配置文件 1098.1.3 停止MongoDB 1108.2 监控 1108.2.1 使用管理接口 1108.2.2 serverStatus 1128.2.3 mongostat 1138.2.4 第三方插件 1138.3 安全和认证 1148.3.1 认证的基础知识 1148.3...

    MongoDB资料shard,oplog等

    ### MongoDB核心知识点解析 #### MongoDB概述 MongoDB是一款高性能、开源、无模式的文档型数据库。作为一款介于关系数据库和非关系数据库之间的解决方案,MongoDB在很多应用场景中可以替代传统的关系型数据库或是...

    MongoDBNotesForProfessionals_MongoDB_mongodbbook_zip.zip

    MongoDBNotesForProfessionals_MongoDB_mongodbbook_zip.zip 是一个包含有关MongoDB专业应用的资料压缩包,很可能包含了深入的MongoDB知识和实战经验,适合已经对数据库有一定基础并希望深入学习MongoDB的开发者。...

Global site tag (gtag.js) - Google Analytics