在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 使用手册知识点详解 #### 一、MongoDB简介 **功能特点** - **面向文档存储**:MongoDB...这些知识点覆盖了MongoDB的基础介绍、安装配置以及常用的基本命令操作,对于初学者来说是非常有用的参考资料。
第2章:MongoDB基础知识 - 文档:是 MongoDB 中的基本数据单元,以 JSON/BSON 格式存储。 - 集合:文档的容器,可以包含多个文档。 - 动态模式:集合中的文档可以有不同的结构。 - 命名:集合的名称可以是任意 UTF...
3. **数据结构灵活**:文档可以由基本类型属性、内嵌文档或文档数组组成,这种灵活性使得 MongoDB 能够适应各种不同类型的数据存储需求。 4. **数据格式**:MongoDB 使用 key-value 对的集合形式存储数据,其中键为...
以下是对MongoDB基础知识的详细阐述: 1. 文档、集合和数据库 - **文档**:MongoDB的核心单位是文档,类似于JSON对象,由键值对构成,键为字符串,不可为空。MongoDB文档支持多种数据类型,包括字符串、数字、数组...
本学习文档旨在为初学者提供全面的MongoDB知识,涵盖从基础概念到高级操作的各个方面。 1. MongoDB 概述 1.1 介绍 MongoDB 是一个混合型数据库,融合了文档数据库、键值存储和关系型数据库的特性。它以JSON格式的...
### MongoDB学习手册精要知识点概览 #### 一、MongoDB简介 MongoDB,源于英文单词“humongous”,意指其设计初衷在于处理海量数据。作为一款开源、面向文档的NoSQL数据库,MongoDB凭借其灵活性和高性能,迅速成为...
### MongoDB基础知识概览 #### MongoDB简介 MongoDB是一款开源、高性能、无模式的文档型数据库管理系统,属于NoSQL数据库的一种。它使用JSON格式的数据结构来存储数据,支持多种数据类型,具备灵活的数据模型,适用...
- **文档结构**:文档可以由基本类型属性、内嵌文档或文档数组组成,支持复杂的数据结构。 - **数据格式**:使用BSON(Binary JSON)格式存储数据,这是一种二进制格式的JSON,支持更多的数据类型。 #### 四、...
以上就是MongoDB集群实战中的主要内容,涉及到了MongoDB的基础知识,以及主从复制模式和副本集部署的知识点。这些知识点对于理解和部署MongoDB集群都是至关重要的,有助于读者在实际工作中更好地运用MongoDB解决数据...
如何考虑MongoDB 文档模式设计的基本策略呢?一般建议的是先考虑内嵌,但是有一些时候,使用引用则难以避免。 MongoDB是为应用程序设计的,而不是为了存储优化的。如果可以达到最高性能的话,我们甚至可以做一些反...
文档可以包含基本数据类型、内嵌文档或文档数组。 - **数据格式**:MongoDB使用BSON格式存储数据,这是一种类似于JSON的二进制格式,支持多种数据类型,包括字符串、数字、布尔值、日期、二进制数据等。 以上是对...
在“MongoDB实战 班克”这本书中,作者深入浅出地介绍了MongoDB的基础知识以及实践技巧,旨在帮助读者快速掌握MongoDB的使用。 1. MongoDB基础: - 数据模型:MongoDB采用JSON格式的BSON(Binary JSON)作为数据...
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 认证的工作原理 ...
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核心知识点解析 #### MongoDB概述 MongoDB是一款高性能、开源、无模式的文档型数据库。作为一款介于关系数据库和非关系数据库之间的解决方案,MongoDB在很多应用场景中可以替代传统的关系型数据库或是...
MongoDBNotesForProfessionals_MongoDB_mongodbbook_zip.zip 是一个包含有关MongoDB专业应用的资料压缩包,很可能包含了深入的MongoDB知识和实战经验,适合已经对数据库有一定基础并希望深入学习MongoDB的开发者。...