当前位置: 首页 > news >正文

网站建设中需求网页设计与制作考试试题及答案

网站建设中需求,网页设计与制作考试试题及答案,wordpress 随机页面,wordpress教程百度云前言 之前分享了MongoDB的基本命名和视图等信息,本文分享一下MongoDB的数据存储类型,使用方式。基础的MongoDB信息就学习完啦,之后会继续分享MongoDB进阶的一些东西。 MongoDB数据存储格式前言1 文件结构1.2 字段名称2 点符号2.2 嵌入式文件…

前言

之前分享了MongoDB的基本命名和视图等信息,本文分享一下MongoDB的数据存储类型,使用方式。基础的MongoDB信息就学习完啦,之后会继续分享MongoDB进阶的一些东西。


MongoDB数据存储格式

  • 前言
  • 1 文件结构
    • 1.2 字段名称
  • 2 点符号
    • 2.2 嵌入式文件
  • 3 文件限制
  • 4 文件结构的其他用途
  • 6 努力学习的黑白客

1 文件结构

MongoDB将数据记录存储为BSON文档。BSON是JSON文档的二进制表示形式,尽管它包含比JSON更多的数据类型。有关BSON规范,请参见bsonspec.org。另请参阅BSON类型。

在这里插入图片描述

MongoDB文档由字段和值对组成,并具有以下结构:

{field1: value1,field2: value2,field3: value3,...fieldN: valueN
}

字段的值可以是任何BSON 数据类型,包括其他文档,数组和文档数组。例如,以下文档包含各种类型的值:

var mydoc = {_id: ObjectId("5099803df3f4948bd2f98391"),name: { first: "Alan", last: "Turing" },birth: new Date('Jun 23, 1912'),death: new Date('Jun 07, 1954'),contribs: [ "Turing machine", "Turing test", "Turingery" ],views : NumberLong(1250000)}

上面的字段具有以下数据类型:

_id 拥有一个ObjectId。
name 包含一个包含字段 和的嵌入式文档。first last
birth 并death 保留Date类型的值。
contribs 持有字符串数组。
views 拥有NumberLong类型的值。

1.2 字段名称

字段名称是字符串。

文档对字段名称有以下限制:

  1. 字段名称_id保留用作主键;它的值在集合中必须是唯一的,不可变的,并且可以是数组以外的任何类型。

  2. 字段名称不能包含null字符。

  3. 顶级字段名称不能以美元符号($)字符开头。

从MongoDB 3.6开始,服务器允许存储包含点(即.)和美元符号(即 $)的字段名称。

重要
MongoDB查询语言不能总是有效地表达对字段名称包含这些字符的文档的查询(请参阅SERVER-30575)。
直到支持在查询语句中添加,使用$和 .不推荐在字段名称,而不是由官方MongoDB的驱动程序支持。

BSON文档可能有多个具有相同名称的字段。但是,大多数MongoDB接口都使用不支持重复字段名称的结构(例如,哈希表)来表示MongoDB。如果需要处理具有多个同名字段的文档,请参见驱动程序的驱动程序文档。

通过内部的MongoDB进程创建的有些文件可能有重复的字段,但是没有 MongoDB的过程中会不断地添加重复字段到现有的用户文档。

2 点符号

MongoDB使用点表示法来访问数组的元素并访问嵌入式文档的字段。

阵列

要通过从零开始的索引位置指定或访问数组的元素,请将数组名称与点(.)和从零开始的索引位置连接起来,并用引号引起来:

"<array>.<index>"

例如,给定文档中的以下字段:

{...contribs: [ "Turing machine", "Turing test", "Turingery" ],...
}

要指定contribs数组中的第三个元素,请使用点符号"contribs.2"。

  1. $[] 用于更新操作的所有位置运算符,
  2. $[/] 过滤后的位置运算符,用于更新操作,
  3. $ 用于更新操作的位置运算符,
  4. $ 数组索引位置未知时的投影运算符

2.2 嵌入式文件

要使用点符号指定或访问嵌入式文档的字段,请将嵌入式文档名称与点(.)和字段名称连接在一起,并用引号引起来:

"<embedded document>.<field>"

例如,给定文档中的以下字段:

{...name: { first: "Alan", last: "Turing" },contact: { phone: { type: "cell", number: "111-222-3333" } },...
}

要指定在字段中命名last的name字段,请使用点符号"name.last"。
要在字段number中的phone文档中 指定contact,请使用点符号"contact.phone.number"。

3 文件限制

文件大小限制

BSON文档的最大大小为16 MB。

最大文档大小有助于确保单个文档不会使用过多的RAM或在传输过程中占用过多的带宽。要存储大于最大大小的文档,MongoDB提供了GridFS API。

文档字段顺序

除以下情况外,MongoDB在写操作后保留文档字段的顺序:

  1. 该_id字段始终是文档中的第一个字段。
  2. 包含renaming字段名称的更新可能会导致文档中字段的重新排序。

_id

在MongoDB中,存储在集合中的每个文档都需要一个唯一的 _id字段作为主键。如果插入的文档忽略该_id字段,则MongoDB驱动程序会自动为该字段生成一个ObjectId_id。

这也适用于通过upsert:true通过更新操作插入的文档。

该_id字段具有以下行为和约束:

  1. 默认情况下,MongoDB _id在创建集合期间会在字段上创建唯一索引。

  2. 该_id字段始终是文档中的第一个字段。如果服务器首先接收到没有该_id字段的文档,则服务器会将字段移到开头。

  3. 该_id字段可以包含任何BSON数据类型的值,而不是数组。

警告 为确保复制正常进行,请勿在_id 字段中存储BSON正则表达式类型的值。

以下是用于存储的值的常用选项_id:

  • 使用一个ObjectId。

  • 使用自然唯一标识符(如果有)。这样可以节省空间并避免附加索引。

  • 生成一个自动递增的数字。

  • 在您的应用程序代码中生成一个UUID。为了在集合和_id 索引中更有效地存储UUID值,请将UUID存储为BSON BinData类型的值。

在以下情况下,BinData更有效地将类型为索引的键存储在索引中:

  • 二进制子类型的值在0-7或128-135的范围内,并且
    字节数组的长度为:0、1、2、3、4、5、6、7、8、10、12、14、16、20、24或32。
  • 使用驱动程序的BSON UUID工具生成UUID。请注意,驱动程序实现可能会以不同的方式实现UUID序列化和反序列化逻辑,这可能与其他驱动程序不完全兼容。请参阅您的驱动程序文档,以获取有关UUID互操作性的信息。

注意
大多数MongoDB驱动程序客户端将包括该_id字段并ObjectId在将插入操作发送到MongoDB之前生成一个;但是,如果客户发送的文档中没有_id 字段,mongod则会添加该_id字段并生成ObjectId。

4 文件结构的其他用途

除了定义数据记录,MongoDB还在整个文档结构中使用,包括但不限于:查询过滤器,更新规范文档和索引规范文档

查询过滤器文档

查询过滤器文档指定确定用于选择哪些记录以进行读取,更新和删除操作的条件。

您可以使用:表达式指定相等条件和查询运算符 表达式。

{<field1>: <value1>,<field2>: { <operator>: <value> },...
}

更新规范文件

更新规范文档使用更新运算符来指定要在db.collection.update()操作期间在特定字段上执行的数据修改。

{<operator1>: { <field1>: <value1>, ... },<operator2>: { <field2>: <value2>, ... },...
}

指数规范文件

索引规范文档定义了要索引的字段和索引类型:

{ <field1>: <type1>, <field2>: <type2>, ...  }

6 努力学习的黑白客

在这里插入图片描述

http://www.tj-hxxt.cn/news/128968.html

相关文章:

  • 做旅游网站的好处如何制作一个网址
  • 做网站时怎么插入视频推广网站的文案
  • 怀柔区建设委员会网站杭州做seo的公司
  • 金坛网站建设公司seo管理系统培训运营
  • 做时时的网站谷歌广告开户
  • 自己做网站如何放置在服务器中网络营销成功案例3篇
  • 怎样做彩票网站代理经典软文文案
  • 怎么做私人网站seo和sem是什么意思
  • 网站建站的步骤流程百度搜索优化软件
  • 招商网站建设目的免费代码网站
  • 东莞市公租房申请网站-建设网阳山网站seo
  • 自己的公网ip可以做网站seo外包公司排名
  • 兰州网站制作企业品牌类网站有哪些
  • 做网站主要来源前端培训
  • 在阿里云服务器做淘客网站手机如何做网站
  • 丰台网站建设报价无安全警告的浏览器
  • 智信建设职业培训学校网站青岛seo公司
  • 做网站甲方乙方公司的区别火星培训机构收费明细
  • c 网站开发哪些框架免费发帖的网站
  • 做网站应该做到那几点外贸营销网站建设介绍
  • 好用的wordpress插件推荐seo三人行网站
  • dw做的网站 图片的路径百度自己的宣传广告
  • 做传销网站的新闻20条摘抄大全
  • 响应式布局是什么意思网站优化内容
  • 协会网站建设制作服务推广软文范例
  • 广西远伟网络科技有限公司东莞百度推广排名优化
  • 如何使用阿里云建站关键词优化报价查询
  • 建设网站的颜色博客是哪个软件
  • 外卖app开发需要多少钱东莞网站seo优化
  • 网站建设分享文章seo的搜索排名影响因素有