MongoDB数据库基础
一、NoSQL
了解Mongodb之前先了解一下NoSQL,NoSQL是Not Only SQL的缩写。由提供缺乏SQL关系数据库的严格限制模型的存储和检索技术组成。主要是简化设计、水平扩展以及对数据的可用性进行更精细的控制。NoSQL有多种技术例如:Redis的键值结构、HBase的列结构等。
二、Mongodb
Mongodb也是NoSQL的一种。它基于的文档模型把数据对象作为一个集合中单独的文档来存储。用它来提供高性能、高可用性和自动扩展的数据存储。
三、集合
Mongodb通过使用集合将数据分组在一起。集合仅仅是一组具有相同或类似用途的文档。集合类似于传统SQL数据库的表。只是集合不执行严格的模式,同一集合中的文档可以具有彼此略微不同的结构。
四、文档
文档是Mongodb数据库中单个数据实体的表示。SQL的行数据是平坦的,行中的每个值都有一个列。在Mongodb中文档可以包含嵌入子文档,从而为应用程序提供更密切的内在数据模型。在Mongodb中代表文档的记录被存储为BSON,这是JSON的一个轻量级的二进制形式。它的字段/值对应于Javascript的属性和值。同时在MongoDB中文档的最大大小是16MB。这可以防止RAM使用过量或对文件系统产生剧烈冲击。
此外,文档的字段名不能包含(null)字符、句点(.)或美元符号($)._id字段名是为对象的ID保留的。该_id字段是系统中的一个唯一的ID,它由以下几个部分组成:
1.一个4字节的值,代表从纪元以来过去的秒数。
2.一个3字节的机器标识符
3.一个2字节的进程ID
4.一个3字节的计数器,从一个随机值开始
五、Mongodb数据类型
Mongodb为每一种数据类型分配了从1到255的整数ID号,可使用它来按类型查询。
类型 说明 编号
Double 双精度数值 1
String 字符串 2
Object 对象 3
Array 数组 4
Binary data 二进制数据 5
Object id 对象ID 7
Boolean 布尔值 8
Date 日期 9
Null 空值 10
Regular Expression 正则表达式 11
JavaScript Javascript 13
Symbol 符号 14
JavaScript(with scope) Javascript(带作用域) 15
32-bit intger 32位整数 16
Timestamp 时间戳 17
64-bit integer 64位整数 18
Min Key 最小值 255
Max Key 最大值 127
当比较不同的BSON类型的值时,Nongodb使用下面的比较顺序从最低到最高:
1.最小键(内部类型)
2.空值
3.数值
4.符号、字符串
5.对象
6.数组
7.二进制数据
8.对象ID
9.布尔值
10.日期,时间戳
11.正则表达式
12.最大键(内部类型)
作者:社会主义接班人
出处:http://www.cnblogs.com/5ishare/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?