Angularfire2 firestore - 文档"字符串斜杠"符号

时间:2018-03-31 22:16:13

标签: angular firebase angularfire2

使用此"字符串斜杠"引用文档的信息符号有点稀疏。以下是the docs中提供的示例:

constructor(private afs: AngularFirestore) {
    this.userDoc = afs.doc<Item>('user/david');
    ...
}

我可以告诉它引用user集合并获取具有唯一ID david的文档。但是,如何确定firestore以该字符串斜杠表示法查找的唯一索引(在本例中为david)的字段?

2 个答案:

答案 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下存储的内容。