相关疑难解决方法(0)

Firestore 查询 - 加入两个集合

我是firestore的新手。我想通过按 ID 使用连接查询从不同的集合中获取名称。我怎么能在firestore中做到这一点?

这是一些样本集。

我有两个集合。员工和部门。

Department collection:
 1001 --> DeptId : 1001
          DeptName : Account
 1002 -->  DeptId : 1002
           DeptName : HR

Employee collection

2001 --> empId : 2001
         DeptId :1001
         empName : Jon
2002 -->  empId : 2002
         DeptId : 1002
         empName : Steve
Run Code Online (Sandbox Code Playgroud)

我想查询员工集合并希望添加部门文档作为响应的一部分。这是我试图获得的示例响应。

{
  "empid": 2001,
  "empname" : Jon
  "Dept" :{
    "Id" :1001,
    "DeptName" : HR
  } 
}
Run Code Online (Sandbox Code Playgroud)

这是我获取员工数据的示例代码。

function getEmployee(req, res)
{
 var empId = req.query.empId;
var obj = admin.firestore().collection('employee').doc(empId);
  obj.get()
 .then(function(emp) {
   if (emp.exists) …
Run Code Online (Sandbox Code Playgroud)

javascript node.js google-cloud-firestore

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

如何计算Firestore中集合下的文档数量?

我正在尝试获取Cloud Firestore上存在的CollectionReference计数,我试图通过以下方式获取它:

FirebaseFirestore db = FirebaseFirestore.getInstance();
    final CollectionReference postsCollection = db.collection("Posts");

    final TaskCompletionSource<Integer> source = new TaskCompletionSource<>();
    new Thread(new Runnable() {
        @Override
        public void run() {
            int fromWhereToStart = postsCollection.get().getResult().size();
            source.setResult(fromWhereToStart);
        }
    }).start();

    Task<Integer> task = source.getTask();
    task.addOnCompleteListener(new OnCompleteListener<Integer>() {
        @Override
        public void onComplete(@NonNull Task<Integer> task) {
            Log.e("Z_fromWhereToStart", "= " + task.getResult());
        }
    });
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我得到了:

java.lang.IllegalStateException: Task is not yet complete
Run Code Online (Sandbox Code Playgroud)

还有另一种方法来计算另一种修复方法IllegalStateException吗?

java android illegalstateexception firebase google-cloud-firestore

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

如何从 firestore 中的两个集合中获取数据?

我有以下问题。我尝试使用 firebase 管理 to m 结构。因此我做了三个收藏。 collections |-----cards |----name |----text |-----cardlist |----name |----numberOfCards |-----card_cardList |----cardId |----cardListId |----number

现在我有了 a 的 id cardList,我的目标是获取此列表中的所有卡片。为了从我的收藏中得到它们,card_list我做了这个collection('card_list', q => q.where('cardListId', '==', myId)。之后,我应该以某种方式将值number与我需要以某种方式获取的卡片值进行映射。

有人建议如何做到这一点吗?

编辑:card_cardList是显示卡片和卡片列表之间 n 到 m 关系的集合

javascript firebase typescript google-cloud-firestore

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