MongoDB+laravel 查询mongodb集合中数组个数

本文介绍了如何在MongoDB数据库中结合Laravel框架,通过聚合操作来计算集合内文档数组字段的元素个数,具体方法是使用$group和$count聚合函数。

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

 {$match: {'process.0': {$exists: true}}},
 {$unwind: '$process'},
 {$match: {'process.correct': 1}},

 {$group: {_id: null, count: {$sum: 1}}}




$db = DB::getMongoDB();
	$collection = $db->exams;

	/*var_dump($collection);
	$document = $collection->findOne();
	var_dump( $document );*/

	$pipeline = array(
		array(
			'$match' => array('process.0' => array('$exists' => true)),
			),
		array(
			'$unwind' => '$process'
			),
		array(
			'$match' => array('process.correct' => 1),
			),
		array(
			'$group' => array(
				"_id" => null,
				"count" => array('$sum' => 1),
				),
			),

	);
	/*{$match: {'process.0': {$exists: true}}},
	{$unwind: '$process'},
	{$match: {'process.correct': 1}},
	{$group: {_id: null, count: {$sum: 1}}}*/
	$result = $collection->aggregate($pipeline);
	var_dump(array_values($result));

参考 http://php.net/manual/en/mongocollection.aggregate.php




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值