Вот мой CSV-файл:
12;France;http://www.google.com
12;France;http://www.google.com
Для каждой строки структура $ field [], которую я использую для заполнения моего Mongo
Объект выглядит следующим образом:
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));
Я не понимаю, почему я получаю дополнительный {"name": "France"} объект в
массив "стран", без счетчика "просмотров", хотя счетчик
должным образом увеличивается в страновом.франции.views (значение которого 2,
что правильно):
{ "_id" : ObjectId("4eeb0e6cd86450af72f775be"), "url" : "http://www.google.com", "countries" : [ { "name" : "France", "views": 2 }, { "name" : "France" } ], "ts_day" : 12 }
Есть идеи для этого одинокого {"name": "France"}? Ошибка Монго или
мое недоразумение?
Спасибо!