时间:2021-05-26
我们的php 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.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
商家补单请进入》》http://bus.tomushow.com礼品代发,只要1.3元》》http://www.lipinyu.com初出茅庐的卖家开店很是困惑
店铺需要装修成什么样,需要产品以及消费人群而决定。对初出茅庐的新手卖家来说,怎么才能合理的掌握好网店色彩装修风格的定位技巧呢?今天小编为大家收集整理了一套淘
淘宝开网店有哪些骗局?一、淘宝网店铺授权激活(欺诈)管理规范。普通这种骗局你直接在旺旺上问他,他们不会理你的。初出茅庐的店员看到这样的图片,以为自己没有激活店铺
对于很多初出茅庐的创业者来讲,开网店无疑是较为省心的一种投资模式。开网店可以销售很多种产品,具体卖什么要根据自己的特长以及喜好,而决定有些朋友对于淘宝开店卖点什
宏函数对于每个C++程序员都决不陌生,就算是初出茅庐的C++程序员也知道如何定义、使用宏函数。但是当初学者看到类似于以下这种宏函数嵌套的时候,可能还是会比较嘀咕