当前位置: 首页 > 知识库问答 >
问题:

使用Firebase Cloud Firestore数据库

翟淇
2023-03-14

我正在制作一个使用Firebase函数的API&Firebase Cloud Firestore。

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

我使用多个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个答案

张子墨
2023-03-14

只需将不同的ID添加到(唯一的)用户文档中(作为不同的字段),然后根据要用于查询的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) {
    ...
} 
 类似资料:
  • SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 . 上一页: 处理事务和DBAPI |下一步: |next| 使用数据库元数据 随着引擎和SQL执行的停止,我们准备开始一些炼金术。SQLAlchemy Core和ORM的核心元素是SQL表达式语言,它允许流畅、可组合地构造SQL查询。这些查询的基础是表示数据库概念(如表和列)的Pytho

  • 本章节将介绍如何创建一个从数据表 country 中读取国家数据并显示出来的页面。 为了实现这个目标,你将会配置一个数据库连接, 创建一个活动记录类, 并且创建一个操作及一个视图。 贯穿整个章节,你将会学到: 配置一个数据库连接 定义一个活动记录类 使用活动记录从数据库中查询数据 以分页方式在视图中显示数据 请注意,为了掌握本章你应该具备最基本的数据库知识和使用经验。 尤其是应该知道如何创建数据库

  • 使用 JDBC 连接数据库 JAVA应用要连接到数据库,首先需要加载数据库驱动,然后获得一个数据库连接,下面是一个简单的例子: import java.sql.*; public class Test { public static void main(String[] a) throws Exception { Class.forName("org

  • 问题内容: 我正在尝试使用我的Derby数据库数据填充Netbeans GUI-builder jTable。 我在Account.java类中使用以下代码: 理想情况下,我希望能够返回其中包含参数数据和列的tableModel,因为我知道在GUI中执行此方法是一种不好的做法。在线上的所有教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它看不到数据和列,

  • 我在Account.java类中使用以下代码: 理想情况下,我希望能够返回包含参数数据和列的tableModel,因为我知道在我的GUI中使用这种方法是不好的做法。所有在线教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它无法看到数据和列,因为它们是在我的方法的一个不可访问的部分中声明和使用的。在我完成这些之后,我需要找到一种方法来将它传递给我的GUI类

  • SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 . 上一页: 使用数据库元数据 |下一步: |next| 使用数据 在 处理事务和DBAPI ,我们学习了如何与Python DBAPI及其事务状态交互的基本知识。然后,在 使用数据库元数据 我们学习了如何在数据库中使用表和列表示约束 MetaData 以及相关对象。在本节中,我们将结合上

  • 数据库使用 介绍中说的很明白,Sanic 是一个可以使用 async/await 语法编写项目的异步非阻塞框架,既然是异步框架,那么在使用过程中用到的第三方包也最好是异步的,比如http请求,最好就使用aihttp而非requests,对于数据库的连接,也是同样如此,下面我将用代码的形式来说明下如何在Sanic中连接数据库。 操作Mysql 对于mysql数据库的异步操作,我只在一些脚本中用过,用

  • MiniFramework 目前只支持 MySQL 数据库,有手动和自动两种连接方式。 手动连接 // 如果未在页面顶部用 use 引入 Db,按照下面的写法,在 Db 前加上 \Mini\ $db = \Mini\Db::factory ('Mysql', array ( 'host' => 'localhost', // 主机地址 'p