<?php
$collection->insert(array("category" => "fruit", "name" => "apple"));
$collection->insert(array("category" => "fruit", "name" => "peach"));
$collection->insert(array("category" => "fruit", "name" => "banana"));
$collection->insert(array("category" => "veggie", "name" => "corn"));
$collection->insert(array("category" => "veggie", "name" => "broccoli"));
$keys = array("category" => 1);
$initial = array("items" => array());
$reduce = "function (obj, prev) { prev.items.push(obj.name); }";
$g = $collection->group($keys, $initial, $reduce);
echo json_encode($g['retval']);
?>
不明确行$keys = array("category" => 1);
为什么需要写“category”=&gt; 1而不是symply写“类别”?
答案 0 :(得分:1)
为什么需要写
"category" => 1
而不是写一下"category"
?
MongoDB的查询引擎使用了JSON对象。所以一切都是键值对。 PHP驱动程序使用哈希表(或词典)表示键值对。
如果查看aggregation documentation,则会有以下示例:
key: { a:true, b:true }
在PHP中,这将表示为
$key: array('a' => 1, 'b' => 1)
我同意1
似乎没必要,但它是为了保持JSON语法有效。