MongoDB使用基础-MongoDB简介&安装
1.什么是MongoDB ?
- MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
- 在高负载的情况下,添加更多的节点,可以保证服务器性能。
- MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
- MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。文件存储格式为BSON(一种JSON的扩展)
2.为什么要用MongoDB?
大型互联网项目中,随着用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。
3.MongoDB特点 :
- MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
- 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序
- MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
- MongoDB安装简单
4.适用场景:
- 网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
- 缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。
- 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
- 高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
- 用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。
5.MongoDB安装及配置:
MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community
根据你的系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按操作提示安装即可。
安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。
.在浏览器输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示:
则表示安装成功
(可能写的不太详细,具体怎么安装可以自行百度,有很多)
下载MongoDB可视化工具
我用的是RoboMongo
官网下载安装包:https://robomongo.org/download
安装过程没什么好说的,一直next下一步就可以了.
在connections窗口点击Create创建连接,默认端口是27017
测试是否连接成功
在Connection上点右键会发现很多操作(创建,删除数据库等)
到这里,MongoDB的安装基本上算是完成了,下面简单的介绍一下MongoDB基本的增删改查操作
MongoDB(CURD操作)
MongoDB创建集合:
db.createCollection(name, options)
参数说明:
name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
MongoDB删除集合
db.collection.drop()
例:
db.mycol2.drop()
MongoDB插入文档:
文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类似json的一种二进制形式的存储格式,简称Binary JSON。
db.COLLECTION_NAME.insert(document) 实例: db.col.insert({title: 'MongoDB', description: 'Nosql数据库', by: 'guowenhao', url: 'www.aaaa.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
查看已插入文档:
db.getCollection('col').find({})
MongoDB更新文档:
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } ) 参数说明: query : update的查询条件,类似sql update查询内where后面的。 update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。 writeConcern :可选,抛出异常的级别。
实例: db.col.update({'title':'title1'},{$set:{'title':'title2'}})