一、MongoDB简介
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
二、MongoDB的下载与安装
MongoDB的下载地址:
安装:
安装?不好意思我下的是windows版本的,解压会吧?解压好就可以使用了!
当时先下的是Windows 32-bit的2.2.*版本,也不知道为什么,就是不能运行,后来换了个1.8.1版本的,跑起来了!(*代表未知,最后以为数字具体多少记不清了……)
三、MongoDB的开启
服务器端的开启:
首先,开启一个cmd窗口,
然后,cd到mongodb的bin目录下(当然,你也可以通过设置环境变量使mongo命令变为全局的)
输入如下命令,红色为数据库文件存放路径,此路径必须存在
mongod -- logappend -- dbpath D:\mongodb\db
想知道更多开启mongo服务器的命令请在开启前输入:mongod --help
客户端的开启:
重新开启一个cmd,同样cd到bin目录下输入命令:mongo
这样就开启了一个客户端,如下图:
mongoDB的使用很像关系型数据库,这一点在数据库切换之间就有所体现,我们来看下面的几个命令
显示该客户端连接到的数据库:show dbs
使用名为test的数据库:use test
显示当前数据库中的表:show tables
四、MongoDB的CURD
增:
- > item={ "key":"1","text":"ci ao"}
- { "key" : "1", "text" : "ci ao" }
- > db.table1.insert(item)
查:
- > db.table1.find()
- { "_id" : ObjectId("50b5c063ff64a9f7d3bcf27f"), "key" : "1", "text" : "ci ao" }
删:
- > db.table1.remove({ "key":"1"})
- > db.table1.find()
- { "_id" : ObjectId("50b5c1ceff64a9f7d3bcf280"), "key" : "2", "text" : "fuck" }
改:
- > var t = db.table1.findOne({ "key":"1"})
- > t.str = "next"
- next
- > db.table1.update({ "key":"1"},t)
- > db.table1.find()
- { "_id" : ObjectId("50b5c1ceff64a9f7d3bcf280"), "key" : "2", "text" : "fuck" }
- { "_id" : ObjectId("50b5c063ff64a9f7d3bcf27f"), "key" : "1", "text" : "ci ao", "
- str" : "next" }
- >
以上就是最基本的CURD,但是mongodb远没有这么简单,比如说查询有条件查询,条件查询中还有正则表达式规则查询,还有游标,有索引,有聚合,具体的还是自己去研究吧
推荐本比较好的书《MongoDB权威指南》,附下载地址: