保存对其他集合的引用
Posted
技术标签:
【中文标题】保存对其他集合的引用【英文标题】:Save reference to other collection 【发布时间】:2018-05-05 23:40:40 【问题描述】:如何在 Firebase Firestore 中保存对另一个集合的引用? docs on adding data 没有提及保存引用的任何内容。
【问题讨论】:
【参考方案1】:Firestore 支持存储对文档 (DocumentReference
) 的引用而不是对集合的引用,但您可以像任何其他 supported data type 一样将 DocumentReference
添加到数据库中,在 javascript 中是这样的:
db.collection("cities").doc("LA").set(
name: "Los Angeles",
state: db.collection("states").doc("CA"),
country: "USA",
);
【讨论】:
对于那些寻求澄清的人,您确实需要使用.ref
才能正确存储数据。在这种特定情况下,您需要:state: db.collection('states').doc('CA').ref,
@AmitBravo 不,将其视为pointer,因此您需要读取其他文档的值。
是的,我今天晚些时候就知道了,我们可以像 db.collection("cities").doc("LA").get() .then(doc => if ( doc.exists) console.log("文档数据:", doc.data().state.get); doc.data().state.get() .then(data2 => console.log('data2 ',data2.data()) ) ) .catch(function(error) console.log("获取文档时出错:", error); );以上是关于保存对其他集合的引用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Firebase 9 电子邮件和密码创建用户并将该用户的其他数据保存在 firebase db 集合中?