Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过collectionGroup按名称查询_Node.js_Google Cloud Firestore_Firebase Admin - Fatal编程技术网

Node.js 通过collectionGroup按名称查询

Node.js 通过collectionGroup按名称查询,node.js,google-cloud-firestore,firebase-admin,Node.js,Google Cloud Firestore,Firebase Admin,因此,截至2019年5月8日,Firebase Firestore现在支持通过collectionGroup('collectionName')查询同名子集合 有没有办法跨这些子集合检索相同docId的多个文档 这里有一个小的视觉例子,说明我正在努力实现的目标 collectionA - documentA : collectionB - documentC - documentB : collectionB - documentC 假设我想得到

因此,截至2019年5月8日,Firebase Firestore现在支持通过
collectionGroup('collectionName')
查询同名子集合

有没有办法跨这些子集合检索相同
docId
的多个文档

这里有一个小的视觉例子,说明我正在努力实现的目标

collectionA
  - documentA
    : collectionB
      - documentC
  - documentB
    : collectionB
      - documentC
假设我想得到这两个
documentC
文档。有没有办法做到这一点

我正在尝试使用的当前代码是:

const docIdFieldPath = FieldPath.documentId()
admin.firestore().collectionGroup('collectionB').where(docIdFieldPath, '==', 'documentC').get().then(...)
但是,我被抛出一个错误:

INVALID_ARGUMENT: Resource name "projects/myProject/databases/(default)/documents/documentB" lacks "/" at index 86.
关于这个问题的文档说,在尝试通过
collectionGroup
进行查询之前,先创建一个索引,但如果我尝试通过在线索引门户进行查询,我会收到一个错误,即
\uu name\uuu
字段是保留的


我是否遗漏了一些愚蠢的东西,或者这项功能还不受支持?

Firestore团队的一些人告诉我这项功能不受支持。您不能根据文档ID的字符串进行过滤。移动SDK会给您一条更好的消息,但显然nodejs SDK不会


您可以改为将文档id存储为文档本身的一个字段,并对该字段进行筛选。

Firestore团队的一些成员告诉我,这不受支持。您不能根据文档ID的字符串进行过滤。移动SDK会给您一条更好的消息,但显然nodejs SDK不会


您可以改为将文档的id存储为文档本身的一个字段,并在该字段上进行筛选。

我也收到了该错误,但我不知道这是否是预期的功能。仅供参考,您的代码中似乎有一个额外的
集合(“collectionA”)
。那是打字错误吗?我希望它不会工作,因为
collectionGroup()
只是
Firestore
上的一种方法。您不能将集合组查询约束到特定集合的子集合。哎呀,好的@DougStevenson,这是一个输入错误。但有趣的是,我们知道没有一种方法可以限制
收集组
!您是说您还不确定支持
\uuu name\uuuu
查询的
collectionGroup
查询是否是一项功能?谢谢我也有可能重复这个错误,但我不知道这是否是一个预期的功能。仅供参考,您的代码中似乎有一个额外的
集合(“collectionA”)
。那是打字错误吗?我希望它不会工作,因为
collectionGroup()
只是
Firestore
上的一种方法。您不能将集合组查询约束到特定集合的子集合。哎呀,好的@DougStevenson,这是一个输入错误。但有趣的是,我们知道没有一种方法可以限制
收集组
!您是说您还不确定支持
\uuu name\uuuu
查询的
collectionGroup
查询是否是一项功能?谢谢可能重复的