Зачем накапливать Cloud Firestore doc.id? - PullRequest
0 голосов
/ 31 мая 2019

Я сохранил некоторые данные, используя db.collection("articles").doc();, и обновил их, используя db.collection("articles").doc(postData.articleId).update(postData);.Но при создании новой статьи в следующий раз накапливается postData.articleId.

Сначала я создаю документ, затем обновляю данные в режиме реального времени с помощью socket.io.но позже я создаю другой документ, postData.id был накоплен.

var doc = db.collection("articles").doc();
var postData = {
    author: user.email,
    articleId: doc.id,
    currentTime: new Date()
}
doc.set(postData);

--- get data from client code here (using socket) ---

db.collection("articles").doc(postData.articleId).update(postData); /*Update Data to postData.id.*/

Ожидаемый результат - не накопление postData.id при добавлении новых данных.

(Для получения дополнительной информации: https://github.com/officialmansu/opinion-express/tree/develop)

1 Ответ

0 голосов
/ 31 мая 2019

Метод update() Cloud Firestore специально предназначен для предоставления частичных обновлений (иногда также называемых исправлениями) существующего документа.

Если вы хотите вместо этого заменить все существующие данные документа, используйте set(). Итак:

db.collection("articles").doc(postData.articleId).set(postData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...