MongoDB是一个非关系型数据库,与传统的关系型数据库相比,它具有操作简单、完全免费、源码公开、随时下载等特点。MongoDB很好的实现了面向对象的思想(OO思想),在Mongo DB中每一条记录都是一个Document对象。
那什么是Document呢?
多个键及其关联的值放在一起就是文档。在mongoDB中使用一种类似于json的bson存储数据。Bson数据可以理解为在json的基础上添加了一些json里面没有的数据类型。
举个文档的栗子:{name : ’Anna’}
一组文档的组合叫集合。
MongoDB的集合是无模式的,也就是说,集合中存储的数据的结构可以是不同的。
举个栗子:{name : ’Anna’},{name : ’Tina’,sex:’female’} 当第一个文档被插入时,集合就被创建。
简单的介绍了一下MongoDB的基本情况,接下来介绍一下如何使用MongoDB:
在命令行中进入MongoDB/bin文件夹,输入
mongod -dbpath mongodb/**** //这里的地址要写绝对地址,不是相对于home的地址设置****文件夹作为我们工程的存储目录并启动数据库。
设置****文件夹作为我们工程的存储目录并启动数据库。
之后再命令行中进入MongoDB/bin文件夹,输入mongo启动数据库。
这时可以用:
show dbs //显示所有数据库 use test //use可以用来连接到一个指定的数据库,这里链接到了test db //显示当前数据库
MongoDB 插入数据:insert
Document = {name:’Anna’,age:20,sex:’female’} db.userdetails.insert(Document)
以上代码等价于:
db.userdetails.insert({name:’Anna’,age:20,sex:’female’})
mongoDB更新数据:update
Db.connection.updata(criteria,objNew,upsert,multi)
Criteria : update的查询资料
ObjNew : update对象和一些更新的操作符
Upsert : 如果不存在update的记录,是否插入objNew,true代表插入,默认为false
Multi : Mongo的默认是false,只更新到找到的第一条记录。若为true,则代表把按照条件查找出来的多条记录全部更新
MongoDB 删除数据:remove , dropDatabase
db.userdetails.remove({name:’Anna’,age:20,sex:’female’}) db.uerdetails.remove(); //删除所有的文档数据 db.dropDatabase() //删除数据库
MongoDB 查询操作 find
db.userdetails.find({sex:’female’});
MongoDB的复制
MongoDB复制是将数据同步在多个服务器的过程。
他的复制至少需要两个节点,一个主节点,负责处理客户端请求,其余都是从节点,负责复制主节点上的内容。
有些东西理解的还不是很透彻,下来再琢磨琢磨。有新的收获会继续更新的。