Использование Firebase SDK для клиентских и облачных функций для добавления документа в коллекцию - PullRequest
0 голосов
/ 12 июля 2020

У меня есть следующая облачная функция

exports.createProduct = functions.https.onRequest((req, res) => {
  const newProduct = {
    title: req.body.title,
    description: req.body.description,
    price: req.body.price,
  };
  admin
    .firestore()
    .collection("products")
    .add(newProduct)
    .then((doc) => {
      return res.json({ message: `product ${doc.id} created successfully` });
    })
    .catch((err) => {
      res.status(500).json({ error: "Something went wrong" });
    });
});

И у меня есть следующий код на стороне клиента

function addProduct() {
  let productTitle = document.getElementById("create-listing-title").value;
  let productPrice = document.getElementById("create-listing-price").value;
  let productDescription = document.getElementById("create-listing-description").value;

  if (productTitle != "" && productDescription != "" && !isNaN(productPrice)) {
    let productData = {
      title: productTitle,
      price: productPrice,
      description: productDescription,
    };

    let productReference = firebase.firestore().collection("products").doc();

    productReference.set(productData).then(function (error) {
      if (error) {
        console.log(error.message);
      } else {
        console.log("Success");
      }
    });
  } else {
    window.alert("All fields required");
  }
}

Они выполняют одну и ту же работу, оба просто добавляют элемент в коллекция. Мой вопрос: есть ли между ними разница, и должен ли я выбрать один или другой, или я должен выбрать их обоих. Кажется, я немного сбит с толку, как клиентская сторона работает со стороной сервера.

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