如果不存在(同步),在谷歌firestore中添加数据
问题描述:
我想列出哈希标签集合中的新哈希标签(例如#love,#goodMorning)(如果它们不存在) 此外,应用程序还支持任何登录用户可以写入数据库。如果不存在(同步),在谷歌firestore中添加数据
如果只有一个用户有权访问此文档,则可以使用以下代码。
hashtags=["one","two","three"];
hashtags.forEach(hashtagToAdd => {
this.afs.collection("hashtags").ref
.where("name", "==", hashtagToAdd)
.limit(1)
.get()
.then(result => {
if (result.empty) {
// code to add new hashtag e.g. here hashtagToAdd
} else {
console.log("hashtag is already present");
}
})
.catch(error => {
console.log("error aayo che", error);
});
}
在我的情况,因为多个用户可以访问和写入它。 现在,如果在取得标签之前没有找到这样的标签,但是在添加标签之前,另一个用户如果已经添加了相同的标签,那么可以存在重复的标签。 如何避免这种情况?还有没有更好的方法来做到这一点的新标签列表?
答
我找到了解决方案。它可以通过将数据存储在静态位置来轻松完成。 例如 存储这些信息...
hashtags=["one","two","three"];
我会用这样的公司的FireStore结构:
/hashtags/one/{name:one}
/hashtags/two/{name:two}
/hashtags/three/{name:three}