【问题标题】:firebase functions check sub child name is exists? [duplicate]firebase 函数检查子子名称是否存在? [复制]
【发布时间】:2018-05-23 17:56:50
【问题描述】:

您好,我正在尝试编写一个函数来查找用户 ID 下的所有用户名并确定用户名是否已存在

我的 json 看起来像这样

    {
  "ali": {
    "AccessToken": "asdadas",
    "CreatedAt": "2017/12/09",
    "DeletedAt": -1,
    "Email": "sadadada",
    "FirstName": "asdad",
    "LastName": "asdadad",
    "LoginType": 0,
    "Phone": "",
    "ThumbNailUrl": "",
    "UpdatedAt": -1,
    "UserName": "asdada"
  },
  "asdadad": {
    "AccessToken": "asdadas",
    "CreatedAt": "2017/12/09",
    "DeletedAt": -1,
    "Email": "asdadadada",
    "FirstName": "asdada",
    "LastName": "asdada",
    "LoginType": 0,
    "Phone": "",
    "ThumbNailUrl": "",
    "UpdatedAt": -1,
    "UserName": "asdadadada"
  }
}

我的函数看起来像这样

    exports.CheckUserName = functions.https.onRequest((req,res) => {
    const userName = req.query.userName;
    if (userName == "" || userName == null) {
        return res.json({
            result: "UserName can not be null or empty"
        })
    } else {
        // what i have to do in here :(
    }
})

我尝试了很多方法,但我做不到

【问题讨论】:

    标签: javascript firebase firebase-realtime-database google-cloud-functions


    【解决方案1】:

    我是 Java 开发人员,所以我会告诉你逻辑。你可以在你的javascript中实现

    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference().child("userId");
    
    rootRef.addListenerForSingleValueEvent(new ValueEventListener() {
      @Override
      void onDataChange(DataSnapshot snapshot) {
        if (snapshot.hasChild("your username")) {
          // run some code
        }
      }
    });
    

    现在您可以在id 下找到所有username。 如果存在,根据您的需要打印一些东西

    如果你不知道 id 您可以将所有用户名保存在名为 usernames 的单独节点中 并将所有usernames 放在那里,并始终从那里检查usernames 是否存在于该节点中。很简单:)

    【讨论】:

    • 但是没有列有userId
    • 每个人的用户 ID 都在变化
    • 将孩子中的 userId 作为字符串传递!
    • 根据您的问题,您需要找到用户 ID 下面的所有用户名,所以我为此编写了代码
    • 我无法在所有用户中搜索用户名
    猜你喜欢
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 2016-09-20
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多