我正在构建 javascript 服务,我想从“集合名称”和“文档 ID 数组”的输入中从 firestore 获取所有子集合文档详细信息。
请求有效负载调用我的服务:
{
root_collection_name: "root_collection",
"msgId": ['11','22','33','66'],
"subcollection_name": "message"
}
我需要搜索所有此msgId 的所有子集合(所有文档的通用名称)文档。
我的 firestore 结构如下所示
collection:
document1:
subcollection:
document:
"val1":"red",
"val2":"blue",
"val3":"green"
document2:
subcollection:
document:
"val1":"apple",
"val2":"mango",
"val3":"grape"
document3:
..............
................
例子:
root_collection:
11:
aaa:
message:
"val1":"red",
"val2":"blue",
"val3":"green"
22:
bbb:
message:
"val1":"apple",
"val2":"mango",
"val3":"grape"
在这种情况下,我需要获取firestore 中可用的msgId "11"、"22"的数据,其他值应发送 null。您能帮忙解决这个问题吗?不确定我在这里缺少什么。
这是我为此编写的代码。
const input = {
"root_collection_name": "root_collection",
"msgId": ['11','22','33','66'],
"subcollection_name": "message"
}
const test = (input) => {
const query = firestore.collection(input.root_collection_name).where('id', 'array-contains-any', input.msgId);
query.get().then((querySnapshot) => {
querySnapshot.forEach((document) => {
document.ref.collection(input.subcollection_name).get().then((querySnapshot) => {
querySnapshot.forEach(doc => {
console.log('doc data',doc.data());
});
});
});
});
};
test(input);
慕工程0101907
相关分类