我学MongoDB

 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的记录,是否插入objNewtrue代表插入,默认为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复制是将数据同步在多个服务器的过程。

他的复制至少需要两个节点,一个主节点,负责处理客户端请求,其余都是从节点,负责复制主节点上的内容。

 

 

有些东西理解的还不是很透彻,下来再琢磨琢磨。有新的收获会继续更新的。

猜你喜欢

转载自pollyanna.iteye.com/blog/2143004