mongodb处理库 php_PHP操作MongoDB 数据库

//** 统计表记录数 **/

echo ‘count:’.$collection->count().”
”; #全部

echo ‘count:’.$collection->count(array(‘type’=>’user’)).”
”; #统计‘type’ 为 user 的记录

echo ‘count:’.$collection->count(array(‘age’=>array(‘$gt’=>50,’$lte’=>74))).”
”; #统计大于50小于等于74

echo ‘count:’.$collection->find()->limit(5)->skip(0)->count(true).”
”; #获得实际返回的结果数

/**

* 注:$gt为大于、$gte为大于等于、$lt为小于、$lte为小于等于、$ne为不等于、$exists不存在

*/

//** 获取表中所有记录 **/

$cursor = $collection->find()->snapshot();

foreach ($cursor as $id => $value) {

echo “$id: “; var_dump($value); echo “
”;

}

/**

* 注意:

* 在我们做了find()操作,获得$cursor游标之后,这个游标还是动态的.

* 换句话说,在我find()之后,到我的游标循环完成这段时间,如果再有符合条件的记录被插入到collection,那么这些记录也会被$cursor 获得.

* 如果你想在获得$cursor之后的结果集不变化,需要这样做:

* $cursor = $collection->find();

*/

//** 查询一条数据 **/

$cursor = $collection->findOne();

/**

*  注意:findOne()获得结果集后不能使用snapshot(),fields()等函数;

*/

//** 设置显示字段 age,type 列不显示 **/

$cursor = $collection->find()->fields(array(“age”=>false,”type”=>false));

$cursor = $collection->find()->fields(array(“user”=>true)); //只显示user 列

/**

* 我这样写会出错:$cursor->fields(array(“age”=>true,”type”=>false));

*/

//** 设置条件 (存在type,age节点) and age!=0 and age<50 **/

$where=array(‘type’=>array(‘$exists’=>true),’age’=>array(‘$ne’=>0,’$lt’=>50,’$exists’=>true));

$cursor = $collection->find($where);

//** 分页获取结果集  **/

$cursor = $collection->find()->limit(5)->skip(0);

//** 排序  **/

$cursor = $collection->find()->sort(array(‘age’=>-1,’type’=>1)); ##1表示降序 -1表示升序,参数的先后影响排序顺序

//** 索引  **/

$collection->ensureIndex(array(‘age’ => 1,’type’=>-1)); #1表示降序 -1表示升序

$collection->ensureIndex(array(‘age’ => 1,’type’=>-1),array(‘background’=>true)); #索引的创建放在后台运行(默认是同步运行)

$collection->ensureIndex(array(‘age’ => 1,’type’=>-1),array(‘unique’=>true)); #该索引是唯一的

/**

* ensureIndex (array(),array(‘name’=>’索引名称’,'background’=true,’unique’=true))

* 详见:http://www.php.net/manual/en/mongocollection.ensureindex.php

*/

//** 取得查询结果 **/

$cursor = $collection->find();

$array=array();

foreach ($cursor as $id => $value) {

$array[]=$value;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值