Mongodb之(初出茅庐)
本文内容纲要:
首先,感谢cnblogsTV,感谢博主的TV,更感谢对上期分享支持的朋友们。在你们的支持,才有了让我写下这一期的动力。夜晚也许你在电视机边看电视,也许你在网上看电影。而我在坚守了一天的电脑之后,继续坐到了电脑边,听着北京广播网的87.6,写着技术分享。好了重点来了,也是veryimportant.接着说我们的mongodb吧
mongodb也能做mysql、sqlserver能做的几乎所有功能。
一、操作符
操作符相信大家肯定都知道了,就是等于、大于、小于、不等于、大于等于、小于等于,但是在mongodb里不能直接使用这些操作符。在mongodb里的操作符是这样表示的:
(1)$gt>(大于)
(2)$lt<(小于)
(3)$gte>=(大于等于)
(4)$lt<=(小于等于)
(5)$ne!=(不等于)
(6)$inin(包含)
(7)$ninnotin(不包含)
(8)$existsexist(字段是否存在)
(9)$inc对一个数字字段field增加value
(10)$set就是相当于sql的setfield=value
(11)$unset就是删除字段
(12)$push把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去
(13)$pushAll同$push,只是一次可以追加多个值到一个数组字段内
(14)$addToSet增加一个值到数组内,而且只有当这个值不在数组内才增加。
(15)$pop删除最后一个值:{$pop:{field:1}}删除第一个值:{$pop:{field:-1}}注意,只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。mongodb1.1及以后的版本才可以用
(16)$pull从数组field内删除一个等于value值
(17)$pullAll同$pull,可以一次删除数组内的多个值
(18)$操作符是他自己的意思,代表按条件找出的数组里面某项他自己。这个比较坳口,就不说了。
二、CURD增、改、读、删
增加
db.collection->insert({'name'=>'caleng','email'=>'admin#admin.com'});
是不是灰常简单呀,对就是这么简单,它没有字段的限制,你可以随意起名,并插入数据
修改
db.collection.update({"count":{$gt:1}},{$set:{"test2":"OK"}});只更新了第一条大于1记录
db.collection.update({"count":{$gt:3}},{$set:{"test2":"OK"}},false,true);大于3的记录全更新了
db.collection.update({"count":{$gt:4}},{$set:{"test5":"OK"}},true,false);大于4的记录只加进去了第一条
db.collection.update({"count":{$gt:5}},{$set:{"test5":"OK"}},true,true);大于5的记录全加进去
查询
db.collection.find(array('name'=>'bailing'),array('email'=>'email@qq.com'))
db.collection.findOne(array('name'=>'bailing'),array('email''email@qq.com'))
大家可以看到查询我用了两种不同的写法,这是为什么,其实这跟做菜是一样的,放不同的调料,炒出的菜是不同的味道。下面给大家说一下,这两种调料的不同作用。
findOne()只返回一个文档对象,find()返回一个集合列表。
也就是说比如,我们只想查某一条特定数据的详细信息的话,我们就可以用findOne();
如果想查询某一组信息,比如说一个新闻列表的时候,我们就可以作用find();
那么我想大家这时一定会想到我想对这一个列表排序呢,noproblemmongodb会为您全心全意服务
db.collection.find().sort({age:1});//按照age正序排列
db.collection.find().sort({age:-1});//按照age倒序排列
db.collection.count();//得到数据总数
db.collection.limit(1);//取数据的开始位置
db.collection.skip(10);//取数据的结束位置
//这样我们就实现了一个取10条数据,并排序的操作。
删除
删除有两个操作remove()和drop()
db.collection.remove({"name",'jerry'})//删除特定数据
db.collection.drop()//删除集合内的所有数据
distinct操作
db.user.distinct('name',{'age':{$lt:20}})
噢!一口气写太多了,大家看太多也不易消化。今天就到这里吧,明天接着写php对mongodb的操作,尽请期待哦!不能再写了,不然的话明天会变熊猫。goodnight.haveagooddream.
五笔者:sarah
本文内容总结:
原文链接:https://www.cnblogs.com/mbailing/archive/2012/11/09/2763379.html