使用此"字符串斜杠"引用文档的信息符号有点稀疏。以下是the docs中提供的示例:
constructor(private afs: AngularFirestore) {
this.userDoc = afs.doc<Item>('user/david');
...
}
我可以告诉它引用user
集合并获取具有唯一ID david
的文档。但是,如何确定firestore以该字符串斜杠表示法查找的唯一索引(在本例中为david
)的字段?
答案 0 :(得分:2)
大卫在这里!
1 + 2)将david
视为users
集合中的主键。
3)如果ID不重要,您可以使用生成的ID,并且可以通过查询取回文档。
constructor(private afs: AngularFirestore): {
const shirtsCollection = afs.collection<Item>('tshirts', ref => {
return ref.where('price', '==', 10.00);
});
this.shirtsUnder10$ = shirtsCollection.valueChanges();
}
在一些不太常见的情况下,您还可以创建查找集合。你有一个已知的id包含生成的id列表。这对于像&#34;活动参与者&#34;这样的情况很有用。如果您知道活动的ID,则可以返回参加活动的用户的与会者ID列表。
答案 1 :(得分:0)
我没有意识到,当您以这种方式使用doc()
和set()
时,会隐式设置ID。在这种情况下,david
作为id:
this.afs.doc(`user/david`).set(userObject);
因此,一旦您添加,就可以通过您设置的ID来调用它。调用该方法将替换(或&#34;破坏性地设置&#34;,作为文档注释)该ID下存储的内容。