相关疑难解决方法(0)

使用Firebase的数据库样式查询

有没有一种快速的方法来使用Firebase执行数据库样式的查询?

例如:

给定一个火力点参考users与领域user_id,name以及age什么是做类似这样的查询的最佳方式:

SELECT name FROM users WHERE `user_id`=147;
Run Code Online (Sandbox Code Playgroud)

和

SELECT COUNT(*) FROM users WHERE age=21;
Run Code Online (Sandbox Code Playgroud)

javascript firebase

46
推荐指数
2
解决办法
2万
查看次数

使用Swift 3.0查询Firebase

我试图得到所有条目createdAt等于Today,但它什么也没有返回.

我在这做错了什么?而且,按照我尝试的方式查询数据的正确方法是什么?

JSON:

    {
      "thoughts" : {
        "-KWGdcdZD8QJSLx6rSy8" : {
          "createdAt" : "Tomorrow",
          "thought" : "meno",
          "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2"
        },
        "-KWGeGivZl0dH7Ca4kN3" : {
          "createdAt" : "Today",
          "thought" : "meno",
          "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2"
        },
        "-KWGeIvWHBga0VQazmEH" : {
          "createdAt" : "Yesterday",
          "thought" : "meno",
          "user" : "ET9tYfHqThNTsLG4bZGIbuLGauu2"
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

迅速:

    let db = FIRDatabase.database().reference().child("thoughts")
    let ref = db.queryEqual(toValue: "Today", childKey: "createdAt")

    ref.observe(.value, with:{ (snapshot: FIRDataSnapshot) in
        for snap in snapshot.children {
            print((snap as! FIRDataSnapshot).key)
        }
    })
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-realtime-database

7
推荐指数
1
解决办法
7129
查看次数

Firebase:如何在游戏中匹配对手?

我正在实施社交象棋游戏.每个用户都可以创建一个新游戏,他们会等到系统找到他们的对手.

当用户创建游戏时,他们会指定约束:他们想要玩的颜色,以及对手的最低国际象棋等级.

对手可以匹配也可以不匹配.例如,以下两个对手将匹配:

// User 1 with rating 1700              // User 2 with rating 1800
// creates this game                    // creates this game
game: {                                 game: { 
  color: 'white',                         minRating: 1650
  minRating: 1600                       }
}                                       // User did not specify a preferred color,
                                        // meaning they do not care which color to play
Run Code Online (Sandbox Code Playgroud)

因此,如果用户1是系统中的第一个用户,并创建了他们的游戏,他们将等待.用户2创建游戏后,应立即与用户1匹配.

另一方面,以下两个对手将无法比赛,因为他们都想打白棋.在这种情况下,两者都应该等到其他人用color: 'black'(或未指定颜色)创建游戏,并且minRating符合要求.

// User 1 with rating 1700              // User 2 with rating 1800
// creates this game                    // creates this …
Run Code Online (Sandbox Code Playgroud)

algorithm nosql firebase firebase-realtime-database

5
推荐指数
2
解决办法
9188
查看次数

Firebase 身份验证服务 - 无需登录即可从电子邮件查找 uid

我正在使用 Firebase、Firebase 的身份验证服务(简单的电子邮件/密码登录)构建一个应用程序,并以与此处描述的方式非常相似的方式存储用户信息。

我的部分功能需要允许根据电子邮件地址查找其他用户。

有没有一种简单的方法可以使用电子邮件来查找 Firebase 定义的 uid(即“simpleLogin:9”),而无需迭代所有用户,或者能够实际登录他们?

javascript firebase firebasesimplelogin

2
推荐指数
1
解决办法
4261
查看次数

适用于移动子类别的Firebase数据结构

我正在使用Firebase应用程序,该应用程序将包含一组代码,这些代码仅供一次性使用,然后将永久绑定到用户.

我希望获得这些代码的最佳查询和更新功能,并遵循Firebase本身的一些建议以及之前的问题,我提出了以下结构:

Codes
  - Available 
    - 12345 
      - property 1
      - property 2
    - 32124
      - property 1
      - property 2
  - Taken
    - 23456
      - property 1
      - property 2
Users
  - UID
    - Codes
      - 23456
Run Code Online (Sandbox Code Playgroud)

这使得查询可用代码变得容易,以及将绑定到用户的代码与其中一个代码匹配(用于登录后进行验证).

我遇到的问题是,为了将代码对象从"可用"移动到"已获取",我必须将其从前者中删除并将其插入到后者中.这是正确的方法吗?我对物理删除数据以移动它感到紧张.

关于如何正确构建此用例的任何建议?

nosql firebase firebase-realtime-database

1
推荐指数
1
解决办法
831
查看次数