iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >MongoDB的常用数据类型有哪些
  • 180
分享到

MongoDB的常用数据类型有哪些

2023-06-14 08:06:50 180人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关MongoDB的常用数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。NO.1 mongoDB的常用数据类型    MonGoDB中的文档类似JS

这篇文章给大家分享的是有关MongoDB的常用数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

NO.1 mongoDB的常用数据类型

    MonGoDB中的文档类似JSON,我们知道,在json中,最常用的数据类型有null、bool、数组字符串、数据、json对象等等。相对比较少,比如对于时间类型的数据,json是无法表示的,而MongoDB中对json进行了简单的优化,像json,但是又不是json。下面我们慢慢说

     MongoDB的常用数据类型和MySQL比较像,你可以对比着看。它的常用数据类型有:

1、null

用于表示空值或者不存在的字段

{"x":null}

2、bool

这个容易理解,true or false

{"x":true}

3、整数

在MongoDB自带的shell中不可用,shell中的需要使用函数来表示整数,如下:

{"x":NumberInt("3")}

如果我们写成

{"x":3}

这里的3会被表示成double。

4、字符串

最常用的数据类型

{"x":"string"}

5、对象id

对象id是12字节的唯一ID

{"x":ObjectId()}

在MongoDB的数据记录里面,也就是文档里面,必须有一个_id键,这个_id键你可以简单理解为唯一标识,类似Mysql中的自增主键,但是它一般不设置成自增的,因为在分布式环境中,同步自动增加主键值既费时又费力,MongoDB为了保证分布式场景下的性能,通过自身生成方式来产生_id,_id的类型,称之为ObjectId类型。

该类型使用12字节的存储空间,每个字节里面是2位16进制的数字,是一个24位的字符串。这12个字节的生成方式如下:

0、1、2、3位是时间戳,提供秒级别唯一性

6位是机器的唯一标识符,提供机器级别唯一性

8位是当前生成ObjectId的进程标识符,保证不同进程的唯一性

11位是一个计数器,保证同一秒相同进程产生的ObjectId的唯一性。

6、日期类型

日期类型存储的是从标准纪元开始的毫秒数,不存储时区。

{"x":new Data()}

示例如下:

> db.num.insert({"age": new Date()})WriteResult({ "nInserted" : 1 })> db.num.find(){ "_id" : ObjectId("5f96b5e15e5c5ff982b9c6af"), "age" : 28 }{ "_id" : ObjectId("5f9835d0f24f04e23fb63878"), "age" : 3 }{ "_id" : ObjectId("5f983621f24f04e23fb63879"), "age" : 3 }{ "_id" : ObjectId("5f9838d2f24f04e23fb6387a"), "age" : ISODate("2020-10-27T15:12:18.739Z") }

7、数组

值的集合或者列表可以表示成数组

{"x":["a","b","c"]}

8、内嵌文档

文档可以包含别的文档

{"x":{"foo":"bar"}}

9、代码

文档中可以包含javascript代码

{"x":function(){}}

NO.2 集合文档的基本操作

     这块儿可能是比较关键的部分了,在mysql中,增删改查是最最基础的功能,在MongoDB中,这些技能也是必备的。

集合相关操作

1、查询集合

查看当前数据库下面的集合,可以使用show collections命令。

2、创建集合

在MongoDB中,不需要单独创建集合,一般情况下,只要我们直接将文档插入到集合中,就可以看到集合自动生成了,举个例子:

> show collections # 查看集合numperson> db.aaa.insert({"name":"yeyz"})WriteResult({ "nInserted" : 1 })> show collections #查看集合,发现aaa这个集合生成了aaanumperson
3、删除集合
> show collectionsaaanumperson> > db.aaa.drop() #删除集合true> show collectionsnumperson

关于集合,最常见的操作就是上面几个。查询集合、创建集合、删除集合。

再来看文档相关的操作:

1、插入文档

上面的例子中,我们使用insert操作已经演示了插入文档的方法。我把两种常见的方法写在一起:

方法一:直接插入文档> db.aaa.insert({"name":"yeyz"})WriteResult({ "nInserted" : 1 })方法二:将文档保存在变量里面,插入变量> record={"name":"zhangsan"}{ "name" : "zhangsan" }> db.aaa.insert(record)WriteResult({ "nInserted" : 1 })查找集合所有内容> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
2、查询文档

查询文档的方法比较多,展开来说可以说很久,就像我们的sql语法一样,有各种各样的写法,这里先说下最简单的,查找所有对象、查找一条对象,或者查找某一条对象的方法。看例子:

#查找所有记录> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }> >#查找一条记录> db.aaa.findOne(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }#带过滤条件的,查找name=zhangsan的记录> db.aaa.find({"name":"zhangsan"}){ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }
3、删除记录

删除记录的方法也比较简单,如下:

#查找所有记录> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }{ "_id" : ObjectId("5f983ba1f24f04e23fb6387d"), "name" : "zhangsan" }#删除name=zhangsan的记录> db.aaa.remove({"name":"zhangsan"})WriteResult({ "nRemoved" : 1 })> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }# 仅剩name=yeyz的一条记录> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }

如果不想要过滤条件,可以直接使用:

db.aaa.remove()来删除所有的记录。

4、更新记录

更新记录,在MongoDB中有些麻烦,例如下面的场景

#查找所有记录> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz" }{ "_id" : ObjectId("5f983D76f24f04e23fb6387e"), "name" : "zhangsan" }#用一个变量表示要修改的文档> record={"name" : "yeyz","age":18}{ "name" : "yeyz", "age" : 18 }#用刚才的变量替换匹配条件的结果> db.aaa.update({"name" : "yeyz"},record)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 18 }{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }# 修改变量的age属性> record.age=2020#再次替换原来的文档> db.aaa.update({"name" : "yeyz"},record)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.aaa.find(){ "_id" : ObjectId("5f983b81f24f04e23fb6387c"), "name" : "yeyz", "age" : 20 }{ "_id" : ObjectId("5f983d76f24f04e23fb6387e"), "name" : "zhangsan" }

感谢各位的阅读!关于“MongoDB的常用数据类型有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: MongoDB的常用数据类型有哪些

本文链接: https://www.lsjlt.com/news/269203.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MongoDB的常用数据类型有哪些
    这篇文章给大家分享的是有关MongoDB的常用数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。NO.1 MongoDB的常用数据类型    MongoDB中的文档类似js...
    99+
    2023-06-14
  • MongoDB数据类型有哪些
    MongoDB数据类型有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数字shell默认使用64位浮点型数值,如下:db.sang_collec.insert({x:3.1...
    99+
    2023-06-19
  • Python常用的数据类型有哪些
    本篇内容主要讲解“Python常用的数据类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python常用的数据类型有哪些”吧!变量不需要声明Python的变量不需要声明,你可以直接输入:...
    99+
    2023-06-02
  • javascript有哪些常用的数据类型
    这篇文章主要讲解了“javascript有哪些常用的数据类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript有哪些常用的数据类型”吧! ...
    99+
    2024-04-02
  • 常用的PostgreSQL数据类型有哪些
    PostgreSQL包含以下常用的数据类型: 数值类型:整数(integer)、小数(decimal)、浮点数(float)、双...
    99+
    2023-10-23
    PostgreSQL
  • Pythonnumpy有哪些常用数据类型
    目录常见数据类型介绍创建数据类型常见数据类型介绍 Python 原生的数据类型相对较少, bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是...
    99+
    2023-02-24
    Python numpy Python numpy常见数据类型
  • PyTorch上的常用数据类型有哪些
    这篇文章将为大家详细讲解有关PyTorch上的常用数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PyTorch上的常用数据类型如下Data typedtypeCPU tensorGPU te...
    99+
    2023-06-15
  • ASP中常用的数据类型有哪些?
    ASP是一种运行在服务器端的脚本语言,它可以通过与HTML混编的方式来创建动态网页。在ASP中,数据类型是非常重要的一个概念,它决定了变量能够存储哪些类型的数据以及如何进行运算。本文将为您介绍ASP中常用的数据类型以及它们的特点。 一、VB...
    99+
    2023-08-11
    数据类型 http 自然语言处理
  • ASP 中有哪些常用的数据类型?
    在 ASP 中,数据类型是非常重要的一个概念。不同的数据类型可以存储不同的数据,而且在处理数据的时候也会有不同的方法。本文将介绍 ASP 中常用的数据类型,以及它们的用途和特点。 字符串类型(String) 字符串是 ASP 中最常用...
    99+
    2023-06-03
    数据类型 缓存 apache
  • c#常见的数据类型有哪些
    c# 数据类型分为两种:值类型和引用类型。值类型直接存储数据,包括整型、浮点数、字符、布尔型和枚举。引用类型存储对堆中对象的引用,包括类、结构、数组、字符串、异常和接口。根据存储大小、性...
    99+
    2024-04-04
    c# 内存占用
  • mongodb支持哪些数据类型
    mongodb支持多种数据类型,包括文本字符串、整型、浮点型、布尔值、日期、唯一标识符,以及数组、对象、二进制数据和自定义数据类型。mongodb采用文档结构,支持嵌套数据,并提供自动类...
    99+
    2024-04-08
    mongodb 键值对
  • 数据库常用的索引类型有哪些
    常用的数据库索引类型包括:1. B-树索引:B-树(Balanced Tree)是一种平衡的多路搜索树,常用于关系型数据库中的索引结...
    99+
    2023-09-05
    数据库
  • MongoDB常用数据类型分享
    目录JSONBSONObject IDStringIntegerDoubleBooleanArrayObjectnullTimestampDateJSON  &e...
    99+
    2024-04-02
  • 常见Flex数据类型有哪些
    这篇文章主要介绍常见Flex数据类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex数据类型说明基元数据类型包括Boolean、int、Null、Number、String、uint和void。Actio...
    99+
    2023-06-17
  • 解读sqlalchemy的常用数据类型有哪些
    目录sqlalchemy的常用数据类型第一种:Integer第二种:String第三种:Float第四种:DECIMAL第五种:Boolean第六种:Enum第七种:Date第八种:...
    99+
    2023-03-02
    sqlalchemy数据类型 sqlalchemy常用数据类型 常用数据类型
  • mysql中常见的数据类型有哪些?
    mysql 提供多种数据类型来存储不同类型的数据,包括整数类型、浮点数类型、定点类型、字符类型、时间和日期类型以及其他类型。这些数据类型具有不同的特性和用途,用于满足不同数据的存储需求。...
    99+
    2024-04-26
    mysql
  • Golang中常用的基本数据类型有哪些
    这篇文章主要讲解了“Golang中常用的基本数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang中常用的基本数据类型有哪些”吧!Golang 是一种强类型语言,变量使用时...
    99+
    2023-07-02
  • 了解MySQL的主要数据类型:熟悉常用的数据类型有哪些
    MySQL基本数据类型概述:了解常用的数据类型有哪些,需要具体代码示例 MySQL是一种常用的关系型数据库管理系统,它支持多种数据类型。了解这些数据类型对于正确的数据库设计和数据存储至关重要。本文将介绍MySQL中常用的数据类型...
    99+
    2024-01-29
    MySQL 数据类型 常用
  • Python编程中常用的数据类型有哪些
    这篇文章给大家分享的是有关Python编程中常用的数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • php中常见数据类型有哪些
    php 支持多种数据类型,包括基础类型(整数、浮点数、字符串、布尔值)、复合类型(数组、对象)和特殊类型(空值、资源)。通过类型强制转换或隐式类型转换,可以轻松地在不同数据类型之间进行转...
    99+
    2024-04-27
    隐式类型转换
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作