React Native和Firebase实时数据库查询给出null

时间:2020-04-14 09:39:51

标签: javascript firebase react-native

我正在使用带响应本机的Firebase实时数据库。在这里,我试图根据电子邮件地址登录用户。

char str[1024];                    // Space enough to store a path
printf("Path: ");
if (fgets(str, sizeof str, stdin)) // read stdin
{
    char *ptr = strchr(str, '\n'); // Find the trailing newline
    if (ptr != NULL)
    {
        *ptr = '\0';               // Strip the trailing newline
    }
}

我在firebase.database().ref('Users') .startAt(email) .endAt(email) .once('value', function (snap) { console.log(snap) console.log('accounts matching email address', snap.val()) }); 集合中有许多文档。我正在尝试获取包含在Users变量中传递的电子邮件地址的文档。但是在控制台中,我得到的值为null。

email

我在变量中提供了正确的电子邮件地址。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您应使用equalTo()根据电子邮件地址进行查询:

firebase.database().ref('Users')
      .orderByChild("email")
      .equalTo(email)
      .once('value', function (snap) {
        console.log(snap)
        console.log('accounts matching email address', snap.val())
      });

假设您具有以下数据库:

Users
  randomId
       email : email_here