我是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) 我正在尝试获取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
我有以下问题。我尝试使用 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 关系的集合