Mongodb正则匹配查询及分组查询

本文介绍如何使用Mongodb在php7环境下查询以特定值开头的字段,并演示了聚合操作实现数据分组求和的统计方法。通过具体示例,如匹配ip_addr值以127开头的数据及按ip_addr字段分组统计项目成员信息,展示了Mongodb强大而灵活的数据处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mongodb查询某字段值以固定值开头的所有数据

例如:匹配表中" ip_addr " 值以" 127 "开使的所有数据(php7+mongodb)

$data = 表名::find()->selece(['ip_addr'])->where(['$regex','ip_addr','^127.*'])->asArray()->all();

运行结果:

array(4) {
  [0]=>
  array(1) {
    ["ip_addr"]=>
    string(9) "127.0.0.1"
  }
  [1]=>
  array(1) {
    ["ip_addr"]=>
    string(9) "127.127.0.1"
  }
  [2]=>
  array(1) {
    ["ip_addr"]=>
    string(9) "127.0.127.1"
  }
  [3]=>
  array(1) {
    ["ip_addr"]=>
    string(9) "127.0.0.127"
  }
 }

php7中使用mongoDB的聚合操作对数据进行分组求和统计操作
例如:查询项目号为7094,状态值为2且根据"ip_addr"字段分组查询

db.panel_members.aggregate([
	{'$match':{'project_id':7049,'status':2}},
	{'$group' :{'_id' :'$ip_addr','count' :{'$sum' :1}}}
	])

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值