這裏是我的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