资讯专栏INFORMATION COLUMN

MongoDB的使用

xbynet / 1702人阅读

摘要:简介是一个基于分布式文件存储的数据库。旨在为应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

NoSQL特点

代表着不仅仅是SQL(Not Only SQL)

键值对存储,列存储,文档存储,图形数据库

最终一致性,而非ACID属性

非结构化和不可预知的数据

CAP定理(!!)

高性能,高可用性和可伸缩性

MongoDB概念

1.SQL术语对比

| SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
| :---: | :---: | :---: |
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
| table joins | | 表连接,MongoDB不支持 |
| primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |

2.SQL条件对比

| 操作 | 格式 | 范例 | RDBMS中的类似语句 |
| :---: | :---: | :---: | :---: |
| 等于 | {:} | db.col.find({"by":"ahh"}).pretty() | where by = "ahh" |
| 小于 | {:{$lt:}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
| 小于或等于 | {:{$lte:}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
| 大于 | {:{$gt:}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
| 大于或等于 | {:{$gte:}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
| 不等于 | {:{$ne:}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |

基本语句

数据库操作

创建数据库:use DATABASE_NAME

查看数据库:show dbs

删除数据库:db.dropDatabase()

集合操作

创建集合:db.createCollection(COLLECTION_NAME)

查看集合:show collections

删除集合:db.COLLECTION_NAME.drop()

文档操作

插入文档:db.COLLECTION_NAME.insert(document)

查看文档:db.COLLECTION_NAME.find(query, projection)

更新文档:db.COLLECTION_NAME.update(document) /db.COLLECTION_NAME.save(document)

删除文档:db.COLLECTION_NAME.remove(document)

其他

limit()、skip()、sort()、创建索引:ensureIndex()

聚合 db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

应用场景

日志分析

存储用户不敏感信息、评论信息

工单系统

事务性不强,读频繁

...

备注

CAP:

一致性(Consistency) (所有节点在同一时间具有相同的数据)

可用性(Availability) (保证每个请求不管成功或者失败都有响应)

分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

参考

http://www.runoob.com/mongodb/mongodb-tutorial.html

http://blog.csdn.net/xiaoxiong_web/article/details/53404428

http://www.cnblogs.com/caihuafeng/p/5494336.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19203.html

相关文章

  • (翻译) MongoDB(11) 在 SUSE 上安装MongoDB社区版

    摘要:概述使用这个教程在和使用软件包安装社区版虽然发行版包含自己的软件包官方的社区版包通常是最新的平台支持本安装教程仅支持位操作系统详细信息请参阅平台支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件包软件名简介一个元软件包将自动 概述 使用这个教程在 SUSE Linux 11 和 12 使用 .rpm 软件包安装 MongoDB 社区版. 虽然 SUSE 发行版包含自己的 ...

    zone 评论0 收藏0
  • (翻译) MongoDB(17) 在 Windows 上安装MongoDB社区版

    摘要:概述使用本教程在系统上安装社区版平台支持自版本开始不支持请使用更新版本的来使用更新版本的重要如果你正在运行任何版本的或者请安装修复程序以解决上的内存映射文件的问题要求社区版需要或者更高版本安装程序包含所有其它软件依赖项将自动更新使用文件安装 概述 使用本教程在 Windows 系统上安装 MongoDB 社区版. 平台支持: 自2.2版本开始, MongoDB 不支持 Windo...

    shaonbean 评论0 收藏0
  • (翻译) MongoDB(12) 在 Amazon Linux 上安装MongoDB社区版

    摘要:概述使用这个教程在使用软件包安装社区版本安装教程仅支持位操作系统详细信息请参阅平台支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件包软件名简介一个元软件包将自动安装下面列出的四个组件包包含守护程序和关联配置和初始化脚本 概述 使用这个教程在 Amazon Linux 使用 .rpm 软件包安装 MongoDB 社区版. 本安装教程仅支持64位操作系统. 详细信息请参阅平...

    gself 评论0 收藏0
  • (翻译) MongoDB(14) 在 Debian 上安装MongoDB社区版

    摘要:概述使用这个教程在或者使用软件包安装社区版虽然包含自己的软件包但官方的社区版包通常是最新的本安装教程仅支持位操作系统详细信息请参阅平台支持这些软件包可以与其它版本一起工作。 概述 使用这个教程在 Debian 7 Wheezy 或者 Debian 8 Jessie 使用 .deb 软件包安装 MongoDB 社区版. 虽然 Debian 包含自己的 MongoDB 软件包, 但官方的 ...

    gaara 评论0 收藏0
  • (翻译) MongoDB(13) 在 Ubuntu 上安装MongoDB社区版

    摘要:概述使用这个教程在使用软件包安装社区版包含自己的软件包但官方的社区版包通常是最新的平台支持本安装教程仅提供位长期支持版本例如,等等这些软件包可能将和其它版本一起工作然后它们并不支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件 概述 使用这个教程在 LTS Ubuntu Linux 使用 .deb 软件包安装 MongoDB 社区版. Ubuntu 包含自己的 Mong...

    wuyumin 评论0 收藏0
  • (翻译) MongoDB(10) 在 Red Hat 企业版或者 Centos Linux 上安装M

    摘要:概述使用这个教程在企业版或者使用软件包安装社区版虽然一些发行版包含自己的软件包官方的社区版包通常是最新的平台支持本安装教程仅支持位操作系统详细信息请参阅平台支持不建议对企业版的支持软件包在自己的存储库中提供官方支持软件包此存储库包含以下软件 概述 使用这个教程在 Red Hat 企业版 Linux 或者 CentOS6/7 Linux 使用 .rpm 软件包安装 MongoDB 社区版...

    cartoon 评论0 收藏0

发表评论

0条评论

xbynet

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<