javascript - 是否可以获取 Firebase Cloud Firestore 数据库中可用的集合的文档 ID?
问题描述
我想在城市集合中获取社会集合的文档 ID,但我的代码在城市集合的 socialId 字段中返回不同的 ID。
myId: string = "";
private docRef: firebase.firestore.DocumentReference;
this.docRef = firebase.firestore().collection("societies").doc();
this.myId = this.docRef.id;
this.cityList = firebase.firestore().collection("cities").add({
cityName: this.city,
societyId: this.myId
}).then((doc) => {
console.log(doc);
}).catch((err) => {
console.log(err);
});
解决方案
您将获得另一个societyId
id ,这与通过简单调用函数生成的 id 不同,因为您正在使用 CollectionReference 的add()doc()
函数将对象添加到数据库:
使用指定的数据向此集合添加一个新文档,并自动为其分配一个文档 ID。
而不是使用 DocumentReference 的set()函数:
写入此 DocumentReference 引用的文档。如果该文档尚不存在,则会创建该文档。如果您传递选项,则可以将提供的数据合并到现有文档中。
根据您的评论,如果您想拥有相同的 id,请更改以下代码行:
this.cityList = firebase.firestore().collection("cities").add(/* ... */);
至
this.cityList = firebase.firestore().collection("cities").doc(this.myId).set(/* ... */);
推荐阅读
- amazon-web-services - logstash 是从 s3 下载日志还是在不下载的情况下读取?
- ios - 调整大小时,SwiftUI Image 组件会缩小
- java - 如何在调用 postgresql 函数时获得动态结果集
- batch-file - 如何修复 RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters 1, True 不是每次都更新
- firebase - 使用 Firebase 电子邮件验证的动态/深度链接?
- port - nmap默认扫描的1000个端口是多少?
- android - 在 Android-ndk 中,如何在调用 dlclose( ) 时调用 _fini( )?
- php - 如何根据首字母对数据进行排序
- ruby-on-rails - 为什么 elasticserach-rails 突然提高 Faraday::ConnectionFailed (执行过期)?
- javascript - 如何在数组对象中获取检查的元素