Javascript Firestore can';我不能得到空文件
我有一个文档集合,其中文档的id是用户id。 让我们调用这些用户文档 每个“用户文档”都包含聊天信息的子集合。但并非所有“用户文档”都包含任何字段(数据,子集合除外) 我不想返回集合中没有任何字段但有子集合的所有文档,但我觉得这是不可能的Javascript Firestore can';我不能得到空文件,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我有一个文档集合,其中文档的id是用户id。 让我们调用这些用户文档 每个“用户文档”都包含聊天信息的子集合。但并非所有“用户文档”都包含任何字段(数据,子集合除外) 我不想返回集合中没有任何字段但有子集合的所有文档,但我觉得这是不可能的 var allUserDocs = {}, count = 0, users = firestore.collection("users"); users.get().then(snapshot => { snapshot.f
var allUserDocs = {},
count = 0,
users = firestore.collection("users");
users.get().then(snapshot => {
snapshot.forEach(doc => {
count++;
allUserDocs[count] = doc.data();
});
allUserDocs.count = count;
res.status(200).send(allUserDocs);
})
此代码仅返回包含字段的文档,而不返回仅包含子集合的文档?有没有办法把所有的钱都还回来
如何获取集合中所有文档ID的列表?空的和非空的?或如果我无法访问所有没有字段的文档,如何向它们添加字段?使用
doc.id
users.get().then(snapshot => {
snapshot.forEach(doc => {
count++;
allUserDocs[doc.id] = doc.data();
});
allUserDocs.count = count;
res.status(200).send(allUserDocs);
})
有一个listDocuments方法可以检索所有包含子集合的文档,无论是否丢失。下面是解释它的例子
您可能正在寻找类似的内容:
let collectionRef=firestore.collection('col');
返回collectionRef.listDocuments()。然后(documentRefs=>{
返回firestore.getAll(…documentRefs);
})。然后(documentSnapshots=>{
for(让documentSnapshot成为documentSnapshot的快照){
if(documentSnapshot.exists){
log(`Found document with data:${documentSnapshot.id}`);
}否则{
log(`find missing document:${documentSnapshot.id}`);
}
}
});代码>我已经试过了,我仍然只返回定义了任何字段的文档。所有其他文档都被忽略(即使它们有一个子集),您可以尝试在每个文档中放置至少一个字段,例如HasNoMeStudio:TRUE或可能不考虑在第一个PASS中使用子集合。PS似乎已经设置了HTTP端点来读取集合,我认为这只是一个反模式。关键是削减中介机构,并要求客户直接向Firebase索取数据。目前我的经验是,Firebase对于削减中介机构来说太麻烦了,我尝试过,但在经历了许多挫折后,我放弃了。至少这样,现在我知道我的代码库是安全和稳定的,无论如何,这是离题的,但无论如何,谢谢!)我觉得它们是firestore API中的一个“showMissing”功能,用于显示所有没有数据的文档。Bu是否可以在nodejs集合查询上设置此标志,以便快照显示所有空文档?我需要获取所有空文档的路径。您找到列出空文档的解决方案了吗?