MongoDB数据类型以及数据批量插入

MongoDB支持以下数据类型

类型        数字          备注
Double        1         双精度浮点数 - 此类型用于存储浮点值
String        2         字符串 - 这是用于存储数据的最常用的数据类型。MongoDB中的字符串必须为UTF-8
Object        3         对象 - 此数据类型用于嵌入式文档
Array         4         数组 - 此类型用于将数组或列表或多个值存储到一个键中
Binary data   5         二进制数据 - 此数据类型用于存储二进制数据
Undefined     6         已废弃
Object id     7         对象ID - 此数据类型用于存储文档的ID
Boolean       8         布尔类型 - 此类型用于存储布尔值(true / false)值
Date          9         日期 - 此数据类型用于以UNIX时间格式存储当前日期或时间。可以通过创建日期对象并将日,月,年的日期进行指定自己需要的日期时间
Null          10        Null - 此类型用于存储Null值
Regular       11        正则表达式 - 此数据类型用于存储正则表达式
JavaScript    13        代码 - 此数据类型用于将JavaScript代码存储到文档中
Symbol        14        符号 - 该数据类型与字符串相同;但是,通常保留用于使用特定符号类型的语言
JavaScript (with scope)  15     代码 - 此数据类型用于将带作用域的JavaScript代码存储到文档中
32-bit integer           16     32位整型 - 此类型用于存储数值
Timestamp                17     时间戳 - 当文档被修改或添加时,可以方便地进行录制
64-bit integer           18     64位整型 - 此类型用于存储数值
Min key                  255    最小键 - 此类型用于将值与最小BSON元素进行比较    
Max key                  127    最大键 - 此类型用于将值与最大BSON元素进行比较

$type

  $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。数字的$type为1、字符串的$type为2、布尔值的$type为8。

数据批量插入

在操作数据库时要注意两个能力:
第一个是快速存储能力。
第二个是方便迅速查询能力。

【批量插入】
批量数据插入是以数组的方式进行的。

db.test.insert([
    {"_id":1},
    {"_id":2},
    {"_id":3}
])

  \注意一次插入不要超过48M,像.zip和大图片什么的尽量用静态存储,MongoDB存储静态路径就好,这也算是一个规则。

【批量插入性能测试】
循环插入测试:

var startTime = (new Date()).getTime(); //得到开始时间
var  db = connect('log');  //链接数据库
//开始循环
for(let i=0;i<1000;i++){
    db.test.insert({num:i});
}
var runTime = (new Date()).getTime()-startTime;//计算时间差
print ('This run this is:'+runTime+'ms');//打印出来

This run this is:430ms

批量插入测试:

var startTime = (new Date()).getTime();
var  db = connect('log');
var tempArray = []              //声明一个数组
for(let i=0;i<1000;i++){        //循环向数组中放入值
    tempArray.push({num:i});
}
db.test.insert(tempArray)       //批量一次插入
var runTime = (new Date()).getTime()-startTime;
print ('This run this is:'+runTime+'ms');

This run this is:23ms
对比可以看出,批量插入性能远远超过循环插入。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容