这里是我的CSV文件:如何在Mongodb中添加/更新动态计数器?
12;France;http://www.google.com
12;France;http://www.google.com
对于每一行,在$场[]结构我用它来填充我蒙戈 对象如下所示:
array(18) {
["date_day"]=> int(12)
["url"]=> string(21) "http://www.google.com"
["country"]=> string(6) "France"
}
对于这两的行,我调用下面:
$result = $coll->update (array ('ts_day' => $field['date_day'] ,'url'=>$field['url']),array('$addToSet' => array ("countries" => array ('name' =>$field['country']))),array ('upsert' => true));
$result = $coll->update (array ('ts_day' => $field['date_day'] ,'url' => $field['url'] , 'countries.name' => $field['country']),array ('$inc' => array('countries.$.views'=> 1)) ,array ('upsert' => true));
我不明白为什么我得到一个额外{“名”:“法国”}对象 的“国家”阵列,没有“意见”柜台,但柜台 在countries.france.views适当增加(其值是2, 这是正确的):
{ "_id" : ObjectId("4eeb0e6cd86450af72f775be"), "url" : "http://www.google.com", "countries" : [ { "name" : "France", "views": 2 }, { "name" : "France" } ], "ts_day" : 12 }
任何想法,这寂寞{“名字”:“法国”}? Mongo bug还是 误解我的?
谢谢!
嗨布兰登。不是那么多(我打算实际上是手动提取CSV文件)。我的关注是能够请求1TB数据托管单个节点,以提供实时分析。因此聚合。做客户端或通过m/r将太昂贵/太长,我猜。 – SCO 2011-12-15 14:44:05