Firebase,添加唯一id和数据-承诺错误添加/设置不是函数

Firebase,添加唯一id和数据-承诺错误添加/设置不是函数,firebase,react-native,google-cloud-firestore,Firebase,React Native,Google Cloud Firestore,如何添加文档数据和唯一id 我正在使用: if (fcmToken) { firebase .firestore() .collection("users") .add(fcmToken) .set({ year }) .then(function() { return true; }) .catch(functi

如何添加文档数据和唯一id

我正在使用:

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

add
之后链接
set
实际上没有任何意义。这些是独立的操作,它们都返回在工作完成后解决的承诺。您看到的错误告诉您,
add
返回的承诺没有名为
set
的方法

只使用其中一个,而不是两个

,可以使用传递给它的对象指定整个文档的内容,并将为其分配一个随机唯一ID

如果要生成自己的ID,请为要创建的文档生成一个ID,并直接设置它。例如:

firebase.firestore().collection("users").doc(fcmToken).set(...)

add
之后链接
set
实际上没有任何意义。这些是独立的操作,它们都返回在工作完成后解决的承诺。您看到的错误告诉您,
add
返回的承诺没有名为
set
的方法

只使用其中一个,而不是两个

,可以使用传递给它的对象指定整个文档的内容,并将为其分配一个随机唯一ID

如果要生成自己的ID,请为要创建的文档生成一个ID,并直接设置它。例如:

firebase.firestore().collection("users").doc(fcmToken).set(...)

使用add而不是set。它将返回生成的id


使用添加而不是设置。它将返回生成的id


没错,我刚刚注意到了这一点!hahaI希望为每个文档设置我自己的唯一id,即fcm令牌。因此,我可以设置一个不允许重复的规则,然后构建对已知文档路径的引用,并直接设置其内容。编辑。没错,我刚注意到这个!hahaI希望为每个文档设置我自己的唯一id,即fcm令牌。因此,我可以设置一个不允许重复的规则,然后构建对已知文档路径的引用,并直接设置其内容。编辑。