Rumah >pangkalan data >tutorial mysql >Mongodb之(初出茅庐)

Mongodb之(初出茅庐)

WBOY
WBOYasal
2016-06-07 14:53:401217semak imbas

Mongodb之(初出茅庐) 首先,感谢cnblogs TV,感谢博主的TV,更感谢对上期分享支持的朋友们。在你们的支持,才有了让我写下这一期的动力。夜晚也许你在电视机边看电视,也许你在网上看电影。而我在坚守了一天的电脑之后,继续坐到了电脑边,听着北京广播网的87.


Mongodb之(初出茅庐)

 

首先,感谢cnblogs TV,感谢博主的TV,更感谢对上期分享支持的朋友们。在你们的支持,才有了让我写下这一期的动力。夜晚也许你在电视机边看电视,也许你在网上看电影。而我在坚守了一天的电脑之后,继续坐到了电脑边,听着北京广播网的87.6,写着技术分享。好了重点来了,也是very important.接着说我们的mongodb吧

  www.2cto.com  

mongodb也能做mysql、sqlserver能做的几乎所有功能。

 

一、操作符

 

操作符相信大家肯定都知道了,就是等于、大于、小于、不等于、大于等于、小于等于,但是在mongodb里不能直接使用这些操作符。在mongodb里的操作符是这样表示的:

 

(1) $gt    > (大于)   

 

(2) $lt  

 

(3) $gte  >= (大于等于)

 

(4) $lt  

 

(5) $ne  != (不等于) 

 

(6) $in  in (包含)      

 

(7) $nin  not in (不包含)  

 

(8) $exists  exist (字段是否存在) 

 

(9) $inc  对一个数字字段field增加value

 

(10) $set  就是相当于sql的set field = 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来删除两条。mongodb 1.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();

 

那么我想大家这时一定会想到我想对这一个列表排序呢,no problem mongodb会为您全心全意服务

 

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的操作,尽请期待哦!不能再写了,不然的话明天会变熊猫。good night. have a good dream.

 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:截取日期参数中的月和日Artikel seterusnya:Redis数据类型--string