代码之家  ›  专栏  ›  技术社区  ›  Rajesh K

使用FireBase Cloud FireStore数据库

  •  0
  • Rajesh K  · 技术社区  · 6 年前

    我正在使用FireBase函数和FireBase Cloud FireStore创建API。

    我尝试使用FireStore来存储关于不同用户的数据,API将根据这些数据决定结果。API将用于检测我的应用程序中的欺诈行为。出于同样的目的,我将使用多个ID,如IMEI编号、Android ID、UUID和一个由MU应用程序分配的多个ID。

    我使用多个ID是因为用户可以轻松更改根设备上的Android ID。因此,我将使用多个ID来检测特定用户。

    但问题是,我如何使用FireStore来存储用户智能的数据,以便找到用户,并使用FireStore上的数据进行预测。

    我想了解以下内容:

    User(Collection)
    
    |
    
    |-->(IMEI, Android ID, UUID, ID)(Should be searchable using all the IDs)
    
             |
    
             |--> (A)Other Data Such As Activity ETC
    
             |--> (B)Other Data such as Session ETC.
    

    我知道我可以创建一个集合(如用户)并进一步使用具有任何一个用户ID的文档,但是如何才能创建一个可以通过使用任何用户ID访问的文档? 我不想为同一用户群创建多个文档,因为这将占用我的存储配额。

    任何帮助都会心存感激。谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Renaud Tarnec    6 年前

    只需添加您的不同 IDs (独特) User 文档(作为不同的字段),然后根据 ID 您要用于查询。类似:

    boolean imeiId = false;
    boolean androidId = false;
    ....
    
    //Set the desire ID to true
    
    CollectionReference usersRef = db.collection("users");
    
    Query query = null;
    if (imeiId) {
        query = usersRef.whereEqualTo("imei_Id", ".....");
    } else if (androidId) {
        query = usersRef.whereEqualTo("android_Id", ".....");
    } else if (uuId) {
        ...
    }