Сортировка данных JSON из HTTP-запроса с помощью функции перед помещением в Firestore - PullRequest
0 голосов
/ 23 сентября 2019

Мне нужна функция, которая получает информацию из запроса HTTPS, а затем помещает данные в конкретные коллекции / документы на основе данных.

Для упрощения, если я получаю JSON с данными "Цвет": blue "Я хочу поместить его в документ 1. Но если я получу" Color: green ", я хочу вставить его в документ 2.

[EDIT] Так скажем, у меня есть пользователи коллекции и 2 документа в этомколлекция, DOC1 и DOC2.Должен ли я поместить оператор switch куда-нибудь или как отсортировать данные, чтобы функция знала, где их разместить.

Это не совсем то, что я хочу сделать, но это та же концепция.Мне нужно поместить данные в конкретные документы, основанные на полученном мной файле JSON.

Любая и вся помощь очень ценится.Я застрял на этом в течение нескольких дней.

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

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const _ = require('lodash');
admin.initializeApp();
const db = admin.firestore();

const express = require('express');
const cors = require('cors');

const app = express();
const bodyParser = require('body-parser');

app.use(bodyParser.json());

app.get('/', async (req, res) => {
let data = req.query.data;

try {
      await db.collection('users').doc().set({ userId: data });
    } catch(err) { res.send(JSON.stringify(err)) }

  res.send('Success');
})

app.post('/', async (req, res) => {
  let payload = req.body;
  let keys = Object.keys(payload);
  let obj = {};
  let i = 0;

  try {
    _.forEach(payload, async data => {
      obj[keys[i]] = data;
      i++;
    })
    //

  await db.collection('users').doc().set(obj);
  } catch(err) { res.send(JSON.stringify(err))}

      res.send('Success');
    })

    exports.writeToFirestore = functions.https.onRequest(app);

Это моя текущая функция, которая просто принимает данные JSON и помещает все это в одно место.

1 Ответ

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