Как импортировать этот файл JSON в базу данных Firestore? - PullRequest
0 голосов
/ 02 февраля 2019

Я установил процесс аутентификации с помощью Google Firebase.Теперь я хочу начать работу с базой данных Firestore, потому что мне нужно работать с несколькими коллекциями, и иметь большой объем данных в файле JSON, который необходимо импортировать.

Файл JSON выглядит следующим образом.Я опубликую только первые две записи, но их всего 60, и это не то, что можно просто напечатать в себе.

Если бы кто-нибудь мог мне рассказать, как использовать сценарий для этой проблемы, этобудет принята с благодарностью.Спасибо!

Я пытался использовать некоторые другие посты в стеке, но использование скриптов заставило меня всех споткнуться.

[
 {
   "FirstName": "Nickeil",
   "LastName": "Alexander-Williams",
   "Position": 2,
   "Age": 19,
   "CollegeYear": 2,
   "Height": 77,
   "DisplayHeight": "6-5",
   "Weight": 205,
   "College": "Virginia Tech",
   "Consistency": 46,
   "Greed": 72,
   "Loyalty": 58,
   "PlayForWinner": 16,
   "PlayingTime": 26,
   "Personality": 53,
   "Durability": 47,
   "WorkEthic": 75,
   "DunkRate": 56,
   "RARate": 3,
   "DriveKick": 58,
   "DriveShot": 0,
   "PostUp": 0,
   "PullUp": 17,
   "CS": 32,
   "Pass": 68,
   "LocATB": 30,
   "LocCorner": 81,
   "LocMidrange": 27,
   "LocPaint": 42,
   "FG_RA": 58,
   "FG_ITP": 58,
   "FG_MID": 31,
   "FG_COR": 18,
   "FG_ATB": 67,
   "FT": 0,
   "Scoring": 35,
   "Passing": 40,
   "Handling": 41,
   "OReb": 51,
   "DReb": 61,
   "Block": 52,
   "Steal": 23,
   "DrawFoul": 5,
   "Defender": 54,
   "Discipline": 75,
   "BballIQ": 65,
   "FG_RA_POT": 65,
   "FG_ITP_POT": 65,
   "FG_MID_POT": 38,
   "FG_COR_POT": 25,
   "FG_ATB_POT": 74,
   "FT_POT": 7,
   "Scoring_POT": 42,
   "Passing_POT": 47,
   "Handling_POT": 48,
   "OReb_POT": 58,
   "DReb_POT": 68,
   "Block_POT": 59,
   "Steal_POT": 30,
   "DrawFoul_POT": 12,
   "Defender_POT": 61,
   "Discipline_POT": 82,
   "BballIQ_POT": 72
 },
 {
   "FirstName": "RJ",
   "LastName": "Barrett",
   "Position": 2,
   "Age": 19,
   "CollegeYear": 1,
   "Height": 78,
   "DisplayHeight": "6-6",
   "Weight": 210,
   "College": "Duke",
   "Consistency": 61,
   "Greed": 83,
   "Loyalty": 77,
   "PlayForWinner": 80,
   "PlayingTime": 81,
   "Personality": 76,
   "Durability": 44,
   "WorkEthic": 79,
   "DunkRate": 80,
   "RARate": 17,
   "DriveKick": 51,
   "DriveShot": 28,
   "PostUp": 20,
   "PullUp": 40,
   "CS": 45,
   "Pass": 35,
   "LocATB": 40,
   "LocCorner": 84,
   "LocMidrange": 35,
   "LocPaint": 54,
   "FG_RA": 54,
   "FG_ITP": 54,
   "FG_MID": 39,
   "FG_COR": 26,
   "FG_ATB": 66,
   "FT": 2,
   "Scoring": 40,
   "Passing": 27,
   "Handling": 36,
   "OReb": 57,
   "DReb": 65,
   "Block": 37,
   "Steal": 39,
   "DrawFoul": 13,
   "Defender": 61,
   "Discipline": 54,
   "BballIQ": 58,
   "FG_RA_POT": 61,
   "FG_ITP_POT": 61,
   "FG_MID_POT": 46,
   "FG_COR_POT": 33,
   "FG_ATB_POT": 73,
   "FT_POT": 9,
   "Scoring_POT": 47,
   "Passing_POT": 34,
   "Handling_POT": 43,
   "OReb_POT": 64,
   "DReb_POT": 72,
   "Block_POT": 44,
   "Steal_POT": 46,
   "DrawFoul_POT": 20,
   "Defender_POT": 68,
   "Discipline_POT": 61,
   "BballIQ_POT": 65
 },
 .
 .
 .
]

1 Ответ

0 голосов
/ 03 февраля 2019

Я столкнулся с той же проблемой, пока код.Для импорта JSON в вашу базу данных Firebase нет специального метода, но вы можете вставить его скриптом.Для этого я делаю этот скрипт.Это тоже может вам помочь.

const fcm = require('nodefire-realtime');

//For Initialize Firebase DB
let serviceAccountKey = require("./serviceAccountKey.json");
let dbUrl = "https://<Your-project-id>.firebaseio.com/";
fcm.init(dbUrl, serviceAccountKey);

const data = require('./<your-JSON-file-name>.json');

//For insert
let dbReference = 'data/user/';
let data =data;
fcm.insert(data, dbReference);

Просто создайте простой файл JS , например, app.js и вставьте в него код выше.Вы можете получить serviceAccountKey.json из настроек проекта (firebase).И если вы застряли с этим пакетом, следуйте инструкциям из nodefire-realtime .Я хотел бы, чтобы это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...