javascript - 检查数据是否等于 Firebase 上的某些内容

标签 javascript reactjs firebase firebase-realtime-database

当用户注册时,我将其与用户信息一起发送到数据库:firstLogin: "false"

当用户登录时,我想检查他们是否第一次这样做,因此我想检查firstLogin是否等于“false”。

我尝试过这样做,但它不起作用。

firebase.auth().signInWithEmailAndPassword(email, password).then( () =>{
let user = firebase.auth().currentUser;
if (user.firstLogin === "false"){
    firebase.database().ref('users/' + user.uid).update({
        firstLogin: "true"
    });
}

最佳答案

您可以检查user.metadatacreationTimelastSignInTime是否相等。如果相同,则这是一个新用户。

if (user.metadata.creationTime === user.metadata.lastSignInTime) {
  // this is a new user
}

或者,如果您调用signInWithPopup,则可以使用:

if (result.additionalUserInfo.isNewUser) {
  // this is a new user
}

参见:

关于javascript - 检查数据是否等于 Firebase 上的某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54505007/

相关文章:

javascript - 如何在 React 中使用多个 Material 的 ui 对话框?

javascript - Material UI 垂直 slider 。如何更改垂直 Material UI Slider(React)中导轨的厚度

android - 我可以实时从 Firebase 数据库读取数据并在 Android 应用程序中不断更新吗?

javascript - 从 Cloud Functions for Firebase 中的 URL 获取 ID

javascript - Netbeans 代码完成看不到 javascript 函数或全局变量

javascript - react : Failed to import a JavaScript class from a folder

javascript - 试图排序 {key : object} pairs by object property with Javascript and Underscore

javascript - 使用fb身份验证的firebase json db安全规则

javascript - 如何在 asp.net.core 中使用 Ajax 发布表单数据和文件?

javascript - 从 iframe 调用父级上的触摸事件