如何使用react native检查firebase firestore中的集合是否可用
我的firestore结构是这样的 我想在firestore上导入联系人详细信息,但还想检查号码是否已存储在集合中,如果未存储,则存储该号码 我的问题是,如果集合不存在,则导入联系人的工作将不存在 因此,我如何使用react native检查firestore中的主集合是否可用 我的代码用于将联系人详细信息添加到firebase, 在这段代码中,我从firebase获取值,并比较联系人号码(如果未存储),然后将其存储在firebase上如何使用react native检查firebase firestore中的集合是否可用,firebase,react-native,google-cloud-firestore,Firebase,React Native,Google Cloud Firestore,我的firestore结构是这样的 我想在firestore上导入联系人详细信息,但还想检查号码是否已存储在集合中,如果未存储,则存储该号码 我的问题是,如果集合不存在,则导入联系人的工作将不存在 因此,我如何使用react native检查firestore中的主集合是否可用 我的代码用于将联系人详细信息添加到firebase, 在这段代码中,我从firebase获取值,并比较联系人号码(如果未存储),然后将其存储在firebase上 const { fetchedContacts,
const { fetchedContacts, selectedContact } = this.state;
const {user_id} = this.props
firebase.firestore().collection(this.props.user_id).get()
.then((snap) => {
snap.forEach(async(doc) => {
fetchedContacts.map((item) => {
if(item.isSelected == true) {
if(doc._data.number[0].number !== item.phoneNumbers[0].number) {
} else {
item.isSelected = false
}
}
});
});
fetchedContacts.map((item) => {
if(item.isSelected == true) {
addManualContact(
user_id,"", item.givenName, item.middleName, item.familyName, "", "", "",
"", item.phoneNumbers, "", "", item.emailAddresses, "", item.postalAddresses,
"", "", "", "", "", "", "", "", "", item.birthday, "", "", item.note,
item.company, "", item.jobTitle,""
)
}
})
});
在添加子集合值之前,是否有任何方法可以检查主集合是否可用。我不确定是否正确理解您的要求,但您可以使用
snap.exists
这是一个布尔值,用于检查文档是否存在,或snap.empty
用于检查查询是否为空。
所以也许像这样
firebase.firestore().collection(this.props.user_id).get()
.then((snap) => {
if(!snap.empty) {
// work with documents
} else {
// Create some documents
}
})
可能是这样的?在检查集合是否存在时,我建议只查询单个文档。随着集合的增加,这将显著减少用于检查的带宽(从而降低成本和时间)。