gpt4 book ai didi

php - Mongo 中的 Map Reduce,将 mongo 查询转换为 php mongo

转载 作者:可可西里 更新时间:2023-11-01 09:45:23 30 4
gpt4 key购买 nike

我在 mongo 中有一个查询,看起来像

db.Table_Name.group({
"key": { "Camp": true },
"initial": { "Clicks": 0 },
"reduce": function(obj, prev) {
prev.Clicks = prev.Clicks + obj.Clicks-0;
},
"cond": { "Date": { $gte: "2012-10-26", $lte: "2012-10-28" } }
});

我想在 php 中使用这段代码。我尝试了所有可能的方法。谁能帮我解决这个问题。甚至我也跟着这个http://php.net/manual/en/mongodb.command.php请任何人帮助我。

我试过了

$reduce = new MongoCode(
"function(obj, prev) {prev.Clicks = prev.Clicks + obj.Clicks-0;}"
);

$result = $db_1->command(array(
'mapreduce' => 'Collection_Name',
'key' => array("Camp" => true),
'initial' => array('Clicks' => 0),
'reduce' => $reduce,
'cond' => array(
'Date' => array('$gte' => '2010-07-12' , '$lte' => '2013-07-12')
),
));

最佳答案

您是否尝试过使用 MongoCollection::group ?对于您的示例,它可能看起来像这样(未经测试)。

$keys = array("Camp" => 1);
$initial = array("Clicks" => 0);
$reduce = "function(obj, prev) {prev.Clicks = prev.Clicks + obj.Clicks-0;}";
$condition = array(
'Date' => array('$gte' => '2010-07-12', '$lte' => '2013-07-12')
);
$result = $collection->group($keys, $initial, $reduce, $condition);

此外,您应该尝试接受 MongoDB 术语,我知道这只是一个例子,但是 Table_Name 应该是 Collection_Name 作为 MongoDb does not have tables .

关于php - Mongo 中的 Map Reduce,将 mongo 查询转换为 php mongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162999/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com