MongoDB---数据类型,集合操作

MongoDB 简介,数据类型,集合操作
摘要由CSDN通过智能技术生成

1.简介

1.什么是mongoDB?

        MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。
MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

 2.MongoDB的特性:

        MongoDB是一个可扩展、高性能的下一代数据库,它的特点是高性能、易部署、易使用、存储数据方便,主要特性有:
面向文档存储, json 格式的文档易读、高效;
模式自由,支持动态查询、完全索引,无模式;
高效的数据存储,效率提高;
支持复制和故障恢复;
以支持云级别的伸缩性,支持水平数据库集群,可动态添加额外服务器;

3.MongoDB的工作方式

传统的关系型数据库一般有数据库( database )、表( table )、记录( record )三级层次构成。
MongoDB 同样是由数据库( database )、集合( collection )、文档对象( documen )三个层次组成。
文档 类似于 json 的键值对。 {"name":"tom","age":23}
集合 一组文档的集合。
#局限与不足:
       
 32位系统上,不支持大于 2.5G 的数据。
        
单个文档大小限制为16M
        
锁粒度太粗,MongoDB 使用一把全局读写锁。
        
不支持join 操作和事务机制
        
对内存要求比较大,至少要保证热数据(索引,数据及系统其他开销)都能装进内存
        
用户权限方面较弱
        
MapReduce在单个实例上无法运行,可用 Auto-Sharding 实现,是由 JS 引擎限制造成。
       
 MapReduce的结果无法写入到一个被 Sharding collection 中,待后续版本解决
        
对于数组型的数据操作不够丰富

4.MongoDB的数据类型

null

布尔 ture|false
整数 123
浮点 12.3
字符串 “hello world”
对象 ID new ObjectId ()来申明。
日期 用 new Date ()来申明时间戳
数组 [“apple”,”blanan”,”pear”]
内嵌文档 {“username” : “jone”, “age”: 13, “contact” : {“home”:”123”,”
moblie”:”456”}}
RegExp 正则表达式 /[a-z]/

5.MongoDB TRDB 数据库基本概念比较

MongoDB:数据库 DB,集合,文档,键值对;

TRDB:数据库 DB,表,行,字段值;

区别:

1.都有数据库概念, 需要用命令建立数据库名。 如根据不同项目建立两 个数据 库名, 一个为 test 数据库, 用于测试; 一个为 goodsdb 数据 库, 用于正式业 务数据存储及操作。

2.一个集合对应于一个表。 MongoDB 无须事先定义表结构, TRDB 必须 事先强制定义。

3.每个文档都有一个特殊的_id , _id 值在文档所属集合中是唯一的, 默认 由MongoDB 自己维护, 当然也可以由程序员编程指定。 一个文档类似 于TRDB —行记录, 文档要避免不同集合的关联关系( Join ) , 而 以 行为 基 础> TRDB 强调关联关系。

4.文档的一个键值对类似于 TRDB

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值