我正在使用带响应本机的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
我在变量中提供了正确的电子邮件地址。有什么想法吗?
答案 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