MongoDB客户端操作与PHP操作Mongodb

一.获取数量
db.books.count();
db.books.find().count();
db.books.count({'author':'张黎'});
db.books.find({'author':'张黎'}).count();
db.books.count({'money':{'$gt':60,'$lte':100}});
db.books.find({'money':{'$gt':60,'$lte':100}}).count();
对应的php代码
$num = $booksOrm->count();
$num = $booksOrm->find()->count();
$num = $booksOrm->count(array('author'=>'张黎'));
$num = $booksOrm->find(array('author'=>'张黎'))->count();
$num = $booksOrm->count(array('money'=>array('$gt'=>60,'$lte'=>100)));
$num = $booksOrm->find(array('money'=>array('$gt'=>60,'$lte'=>100)))->count();
二.查询单条数据
db.books.findOne();
db.books.findOne({'title':'西游记'});
对应的php代码:
$info = $booksOrm->findOne();
$info = $booksOrm->findOne(array('title'=>'西游记'));
三.自定义字段显示
db.books.find({},{'title':1,'code':1}); //只显示title和code字段,_id默认显示
db.books.find({},{'_id':0,'title':1,'code':1}); //只显示title和code,_id也不显示
db.books.find({'money':{'$gt':60,'$lte':100},'code':{'$gt':150}},{'_id':0,'title':1,'code':1});
对应的php代码:
$info = $booksOrm->find()->fields(array('title'=>1,'code'=>1));
$info = $booksOrm->find()->fields(array('_id'=>0,'title'=>1,'code'=>1));
$data = $booksOrm->find(array('money'=>array('$gt'=>60,'$lte'=>100),'code'=>array('$gt'=>150)))->fields(array('_id'=>0,'title'=>1,'code'=>1));
$info = array();
foreach($data as $bal){
	$info[] = $bal;
}
四.分页--limit
db.books.find({},{'_id':0,'money':0,'code':0}).skip(3).limit(2); //跳过第x条,取n条 
对应的php代码:
$data = $booksOrm->find()->fields(array('_id'=>0,'money'=>0,'code'=>0))->skip(3)->limit(2);
五.排序--sort -1:desc 1:asc
db.books.find().sort({'money':1}); //根据money进行asc
db.books.find().sort({'money':-1}); //根据money进行desc
db.books.find().sort({'money':-1,'code':1}); //根据money进行desc,code进行asc
对应的php代码:
$data = $booksOrm->find()->sort(array('money'=>1));
$data = $booksOrm->find()->sort(array('money'=>-1));
$data = $booksOrm->find()->sort(array('money'=>1,'code'=>-1));
六.模糊查询--like
db.books.find({'title':/王朝/}); // like '%王朝%'
db.books.find({'title':/^大/}); // like '大%'
db.books.find({'title':/王朝$/}); // like '%王朝%'
对应的php代码:
$param = array("title" => new MongoRegex('/王朝/'));
$param = array("title" => new MongoRegex('/^大/'));
$param = array("title" => new MongoRegex('/朝$/'));
$data = $booksOrm->find($param);
七.$in,$nin
db.books.find({'money':{'$in':[76,94]}});
对应的php代码:
$param = array("money" => array('$in'=>array(76,94))); 
$data = $booksOrm->find($param);
八.$or
db.books.find({'$or':[{'money':76},{'money':94}]});
对应的php代码:
$param = array('$or'=>array(array('money'=>76),array('money'=>94)));
$data = $booksOrm->find($param);
九.分组统计--group by
$option = array(
    //匹配条件
    array(
        '$match'=>array(
            'code'=>array(
                '$gt'=>80,
                '$lt'=>110
            )
         )
    ),
    //统计条件
    array(
        '$group'=>array(
            '_id'=>'$author',
            'numcount'=>array(
                '$sum'=>'$money'
             )
        )
    )
);
//获取全部数据
$data = $booksOrm->aggregate($option);
$info = array();
foreach($data as $bal){
	$info[] = $bal;
}
十.distinct
db.books.distinct('author');
db.books.distinct('author',{'money':{'$gt':76,'$lte':110}});

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值