日期:2014-05-16  浏览次数:20517 次

mongodb学习(二)

昨天给ubuntu13.04安装ati的显卡驱动,ubuntu本来对ati的显卡支持不是很好,没办法unity启动器没有了,ccsm也没有任何作用,只得重新安装了12.10,近期也不打算升级13.04了,我的源代码...说多了都是泪...

回归正题,上一篇文章是我刚刚接触NoSQL写的,这几天进一步了解了一些NoSQL的内容,然后就继续研究Mongodb,这次我们来研究一下Mongodb的增删查改吧。

通过上一篇的内容,我们开启mongo的shell界面,然后我们默认连接上了test数据库,没关系,这个本来就是测试数据库,test嘛,可是我们需要建立一个集合,名字是user吧。

INSERT操作:

我们要注意的是,在文档里面是一个Bson格式(json)的拓展形式,json不懂的去google一下看看维基百科。

这是我们的insert语句,user是我们的集合名称。

db.user.insert({"name":"Trony","age":"22"})

在运行这段语句之后,可能会导致一个错误 db already exists with different case other    我就出了这个错误,restart一下mongodb就可以解决问题~~

FIND操作:


我们在insert之后数据库没有给出任何反映,就是换到了下一行>,那么查询语句是用find引导的,我们来查询user集合中的数据吧

db.user.find()

① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。

② 严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。



UPDATE操作:

update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”,用过正则表达式的,就很简单的理解。

比如我们执行这段语句:

db.user.update({"name":"Trony","age":"22"},{"name":"Jnnock","age":"22"})
再查询一遍,那么结果肯定会如下所示,如果"age":22这个值是必须的,那么就不能在语句中省略!


REMOVE操作:

remove中如果不带参数将删除所有数据,这个后果确实很可怕,所以要先警示一下。我们在user中插入a=1这个值,然后我们执行一下remove操作。

db.user.remove({"a":1})