Дорогое сообщество Stackoverflow,
У меня есть 34-дюймовый json файл с большим количеством данных. Я попытался импортировать в мой mongodb с помощью mongoimport --file file.json - но это не привело к тому, что файл слишком велик и выбросил ошибку системы памяти, которую вы знаете. Можно ли использовать PHP-код для итерации через файл с помощью курсора? У меня нет опыта в этом, кто-то сказал мне, что это будет возможно. Я хочу знать, как файл создается, но я не знаю, как его просмотреть. Из источника я мог бы получить массив примеров:
{
"_id": ObjectId("53b29644aafd413977b23b7e"),
"summonerId": NumberLong(24570940),
"region": "euw",
"updatedAt": NumberLong(1404212804),
"season": NumberLong(4),
"stats": {
"110": {
"totalSessionsPlayed": NumberLong(3),
"totalSessionsLost": NumberLong(2),
"totalSessionsWon": NumberLong(1),
"totalChampionKills": NumberLong(34),
"totalDamageDealt": NumberLong(415051),
"totalDamageTaken": NumberLong(63237),
"mostChampionKillsPerSession": NumberLong(12),
"totalMinionKills": NumberLong(538),
"totalDoubleKills": NumberLong(5),
"totalTripleKills": NumberLong(1),
"totalDeathsPerSession": NumberLong(18),
"totalGoldEarned": NumberLong(40977),
"totalTurretsKilled": NumberLong(6),
"totalPhysicalDamageDealt": NumberLong(381668),
"totalMagicDamageDealt": NumberLong(31340),
"totalAssists": NumberLong(25),
"maxChampionsKilled": NumberLong(12),
"maxNumDeaths": NumberLong(10)
}
}
}
Статистика полей содержит больше массивов, 110 - пример. Как я могу перебирать этот файл большого размера или как его импортировать в мой mongodb? Например; Я хочу повторить summonerid, championid (в этом случае 110), totalSessionsPlayed. Он должен релоксировать столько, сколько ему нужно, пока не останется от него никаких ассимистов.
Снова... В summonerID есть список чемпионов, которые он играл в своей игровой карьере. Чемпионы имеют в виду (в этом примере) 110. Каждый отдельный summonerid может содержать несколько чемпионов, и я хочу иметь всех чемпионов, сколько раз чемпион играл (totalsessionplayed) summonerid.