firestore与this.db.object等效的是什么?

时间:2019-04-24 14:12:41

标签: angular google-cloud-firestore

使用此概念/教程进行项目(https://angularfirebase.com/lessons/custom-usernames-with-firebase-authentication-and-angular/) 但是它在firebase中,我需要等效的Firestore。

我尝试了以下方法:

resultSet = Persistence.executeQueryStatement(aConnection, "SELECT * "
    + "FROM sectionmitschueler");
while (resultSet.next()) {
    for(SectionTO eineSectionTO : eventTO.getSections()) {
        if(resultSet.getInt("sectionId") == eineSectionTO.getSectionId())
            System.out.println(sectionTO.getSectionId());
            sectionTO.getSchueler().add(resultSet.getInt("schuelerId"));
        }
    }
}

我只想检索集合中的特定字段,并检查它是否可用。

谢谢

1 个答案:

答案 0 :(得分:0)

您不需要通过snapShotChanges / valueChanges监听更改。

只需简单地获取一个limit(1)(我们不在乎用户名是否超过1个),然后检查大小是否>0。如果> 0 =>使用了用户名,则可以使用用户名:

const db = firebase.firestore()

const isUserNameTaken = async (tag: string): Promise<boolean> => {
  const query = db.collection('usernames').where('username', '==', tag).limit(1)
  const docs = await query.get()
  return !!docs.size
}

// returns true if username taken otherwise returns false

const isTaken = await isUserNameTaken('John')
if (isTaken) // do something