Firebase, добавить уникальный идентификатор и данные - ошибка обещания добавить / установить не является функцией - PullRequest
0 голосов
/ 27 марта 2019

Как я могу добавить данные документа, а также уникальный идентификатор?

Я использую:

if (fcmToken) {
    firebase
        .firestore()
        .collection("users")
        .add(fcmToken)
        .set({
            year
        })
        .then(function() {
            return true;
        })
        .catch(function(error) {
            return false;
        });
}

Я получаю ошибку:

Possible Unhandled Promise Rejection (id: 0):
TypeError: _reactNativeFirebase.default.firestore(...).collection(...).add(...).set is not a function

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Используйте add вместо set.Он вернет сгенерированный идентификатор.

https://firebase.google.com/docs/reference/js/firebase.firestore.CollectionReference.html?authuser=0#add

1 голос
/ 27 марта 2019

Цепочка set после add на самом деле не имеет никакого смысла.Это независимые операции, и оба возвращают обещание, которое разрешается после завершения работы.Вы видите ошибку, которая говорит о том, что обещание, возвращаемое add, не имеет метода с именем set.

. Просто используйте один или другой, а не оба.

Используя add , вы можете указать все содержимое документа вместе с передаваемым ему объектом, и ему будет присвоен случайный уникальный идентификатор.

Если вы хотите сгенерировать свой собственный идентификатор, создайте DocumentReference к документу, который вы хотите создать, и установите его напрямую.Например:

firebase.firestore().collection("users").doc(fcmToken).set(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...