Mongodb特殊的更新操作

1.在原来的字段基础上,加上一个数字 针对数值型

$bool = $table->update(array("name"=>"name1"),array('$inc'=>array("age"=>1000)));
var_dump($bool);


2.让某个字段等于固定的值

$bool = $table->update(array("name"=>"name1"),array('$set'=>array("age"=>22222)));
var_dump($bool);


3.删除某个节点的值

$bool = $table->update(array("name"=>"name1"),array('$unset'=>array("age"=>1)));
var_dump($bool);
 
多项删除
$table->remove(array("name"=>array('$in'=>array("name3","name4"))));


$push

如果对应节点是个数组,就附加一个新的值上去;不存在,就创建这个数组,并附加一个值在这个数组上;如果该节点不是数组,返回错误。

设记录结构为array(’a'=>array(0=>’haha’),’b'=>1),想附加新数据到节点a,那么:

$coll->update(

array(’b'=>1),

array(’$push’=>array(’a'=>’wow’)),

)

这样,该记录就会成为:array(’a'=>array(0=>’haha’,1=>’wow’),’b'=>1)

$pushAll

$push类似,只是会一次附加多个数值到某节点

$addToSet

如果该阶段的数组中没有某值,就添加之

设记录结构为array(’a'=>array(0=>’haha’),’b'=>1),如果想附加新的数据到该节点a,那么:

$coll->update(

array(’b'=>1),

array(’$addToSet’=>array(’a'=>’wow’)),

)

如果在a节点中已经有了wow,那么就不会再添加新的,如果没有,就会为该节点添加新的item——wow

$pop

设该记录为 array(’a'=>array(0=>’haha’,1=>’wow’),’b'=>1)

删除某数组节点的最后一个元素:

$coll->update(

array(’b'=>1),

array(’$pop=>array(’a'=>1)),

)

删除某数组阶段的第一个元素

$coll->update(

array(’b'=>1),

array(’$pop=>array(’a'=>-1)),

)

$pull

如果该节点是个数组,那么删除其值为value的子项,如果不是数组,会返回一个错误。

设该记录为 array(’a'=>array(0=>’haha’,1=>’wow’),’b'=>1),想要删除avaluehaha的子项:

$coll->update(

array(’b'=>1),

array(’$pull=>array(’a'=>’haha’)),

)

结果为: array(’a'=>array(0=>’wow’),’b'=>1)

$pullAll

$pull类似,只是可以删除一组符合条件的记录。



4.获取单条数据

$result = $table->findOne(array("name"=>"name5"),array('age'));
print_r($result); //单条数据 固定字段
多条数据
$result = $table->find(array(),array("name"));

5.分页查询记录

$result = $table->find();
$result = $result->sort(array("age"=>1));
$result = $result->skip(2)->limit(3);
foreach($result as $val){
	print_r($val);	
}

6 显示数据库 显示表

show dbs 
show tables



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值