mongoDB数据库学习

mongoDB是Nosql数据库,可操作json类似的格式数据。安装和学习文档在

http://www.mongodb.org/display/DOCS/Quickstart+Unix(这个文档必须现在就读) ,进一步学习见:http://www.mongodb.org/display/DOCS/Tutorial

注意:启动就进入解压后的目录./mongod即可,用top查看发现有mongod进程说明启动了。client连接用./mongo 这时在ubuntu中需要安装terminator来实现多窗口,见ubuntu下的博文。

Rails中调用Mongodb

不要采用mongodb.org的官方方法,官方让我们用gem "mongo_mapper"的方法,而最好的方法却是用http://mongoid.org/  这个更加专业的gem。

rails中的Schema定义表结构对于nosql数据库而言,已经没有任何意义了。所以只要在model中定义就好了。

 

 

 

Mongodb常用命令

use test - 切换到test数据库,如果test数据库不存在,则会自动创建test数据库

show dbs -显示所有数据库

db - 显示当前数据库,就是use的结果

db.user.insert({uid:1,username:"zhangJian",age:25,school:"heHai大学"})

show tables - 显示当前数据库下的所有表(以下默认为当前数据库)

db.user.find() - 查询user的所有数据

db.user.find - 查看find方法的定义

db.user.find({username:"zhangJian"}) -带条件查询,大小写是区分的

 

db.user.update({uid:1},{$set:{age:29}}) - 更新

db.user.remove() - s删除user表的全部数据

db.user.remove({uid:5}) - s删除user表所有uid=5的数据

 

深入学习:

http://www.mongodb.org/display/DOCS/Dot+Notation+%28Reaching+into+Objects%29

查询嵌入对象用.,查询数组可以直接查
mongodb是可编程的,比如
d=db.persons
d.find()

db.things.getIndexes() 

ensureIndex()

Shard就是分段,太大了,就分分段,比如如果只查询最近的某个集合,那么在create_at上面Shard效果不错

 

如果不恰当的关闭系统导致mongodb可能不能启动,可以通过./mongod --repair修复。

 

疑问

It is more difficult to get a system-level view for embedded objects. When needed an operation of this sort is performed by using MongoDB's map/reduce  facility.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值