Linux 拨号vps windows公众号手机端

mongodb数据类型,MongoDB的特性

lewis 5年前 (2020-11-23) 阅读数 8 #VPS/云服务器
文章标签 mongodb数据类型

本文目录:

  • 1、<"http://#mongodb%E6%98%AF%E4%BB%80%E4%B9%88%E7%B1%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93" title="mongodb是什么类型数据库" "">mongodb是什么类型数据库
  • 2、<"http://#mongodb%20%E5%AD%98%E5%82%A8%E6%98%AFjson%E5%90%97" title="mongodb 存储是json吗" "">mongodb 存储是json吗
  • 3、<"http://#mongodb%20%E7%B4%A2%E5%BC%95%E6%98%AF%E4%BB%80%E4%B9%88%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84" title="mongodb 索引是什么数据结构" "">mongodb 索引是什么数据结构
  • 4、<"http://#mongodb%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%EF%BC%9F" title="mongodb数据类型转换?" "">mongodb数据类型转换?

mongodb是什么类型数据库

答案:A

1.文档型数据库

作为最受欢迎的NoSQL产品,文档型数据库MongoDB当仁不让地占据了第一的位置,同时它也是所有NoSQL数据库中排名最靠前的产品(总排行榜第七名)。Apache基金会的CouchDB排在第二,基于.Net的数据库RavenDB排在第三,Couchbase排在第四。

2.键值(Key-value)数据库

键值(Key-value)数据库是NoSQL领域中应用范围最广的,也是涉及产品最多的一种模型。从最简单的BerkeleyDB到功能丰富的分布式数据库Riak再到Amazon托管的DynamoDB不一而足。

在键值数据库流行度排行中,Redis不出意外地排名第一,它是一款由Vmware支持的内存数据库,总体排名第十一。排在第二位的是Memcached,它在缓存系统中应用十分广泛。排在之后的是Riak、BerkeleyDB、SimpleDB、DynamoDB以及甲骨文的Oracle NoSQL数据库。值得注意的是,Oracle NoSQL数据库上榜不久,得分已经翻番,上升势头非常迅猛。

3. 列式存储

列式存储被视为NoSQL数据库中非常重要的一种模式,其中Cassandra流行度最高,它已经由Facebook转交给到Apache进行管理,同时Cassandra在全体数据库排名中排在第十位,紧随MongoDB成为第二受欢迎的NoSQL数据库。基于Hadoop的Hbase排在第二位,Hypertable排在第三。而Google的BigTable并未列入排名,原因是它并未正式公开。

mongodb 存储是json吗

MongoDB存储数据类型为BSON(Binary JSON ).

MongoDB 是一个基于分布式文件存储的数据库。它将数据存储为一个文档,数据结构由键值(key=value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

数据格式示例:

什么是BSON?

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

mongoDB对JSON串做了一些增加,使其可以支持更多的数据类型,并且将其作为存储结构。

BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是轻量性、高灵活性、可遍历性、高效性,但它的缺点是空间利用率不是很理想。

参考来源:

mongodb 索引是什么数据结构

MongoDB索引使用B-tree数据结构。

索引支持MongoDB中查询的高效执行。如果没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。如果查询存在适当的索引,MongoDB可以使用索引来限制它必须检查的文档数。

扩展资料

MongoDB索引的类型

1、单字段索引(Single Field Index)

这个是最简单最常用的索引类型,比如我们上边的例子,为id建立一个单独的索引就是此种类型。

2、复合索引(Compound Index)

索引field的先后顺序很关键,影响有两方面:

(1)MongoDB在复合索引中是根据prefix排序查询,就是说排在前面的可以单独使用。

(2)过滤出的document越少的field越应该放在前面,比如此例中id如果是唯一的,那么就应该放在最前面,因为这样通过id就可以锁定唯一一个文档。而如果通过city或者score过滤完成后还是会有大量文档,这就会影响最终的性能。

索引的排序顺序不同:复合索引最末尾的field,其排序顺序不同对于MongoDB的查询排序操作是有影响的。

3、多key索引(Multikey Index):主要针对数据类型为数组的类型。

4、其它类型索引:另外,MongoDB中还有其它如哈希索引,地理位置索引以及文本索引,主要用于一些特定场景。

mongodb数据类型转换?

例如在mongodb中有数据库(taobao),表(product),表中有一deal字段本来存储的是字符串类型,现在要把deal中的值改为整型。

方法是在mongodb(robo)中运行

db.getCollection('product').find({'deal' : { $type : 2 }}).forEach(function(x) {

x.deal = NumberInt(x.deal);

db.getCollection('product').save(x);

})

这里的type:2 指的是原来的deal字段类型是2,也就是字符串类型。

字段类型编号:

1 Double 浮点型

2 String UTF-8字符串都可表示为字符串类型的数据

3 Object 对象,嵌套另外的文档

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

5 Binary data 二进制

7 Object id 对象id是文档的12字节的唯一 ID 系统默认会自动生成

8 Boolean 布尔类型有两个值TRUE和FALSE

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

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

11 Regular expression 采用js 的正则表达式语法

13 JavaScript code 可以存放Javasript 代码

14 Symbol 符号

15 JavaScript code with scope

16 32-bit integer 32位整数类型

17 Timestamp 特殊语义的时间戳数据类型

18 64-bit integer 64位整数类型

【mongodb数据类型】内容来源于网络,若引用不当、侵权,请联系我们修正或者删除!

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门