保存对其他集合的引用

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); );

以上是关于保存对其他集合的引用的主要内容,如果未能解决你的问题,请参考以下文章

初识java集合——其他集合

Java集合_学习笔记

如何使用 Firebase 9 电子邮件和密码创建用户并将该用户的其他数据保存在 firebase db 集合中?

在 CloudKit 中保存对象数组

在同一集合中创建对象的 mongodb 模式数组或创建新集合的更好方法保存引用

java 遍历集合的时候对集合进行操作