当前位置: 首页 > 知识库问答 >
问题:

如何在AngularFire中使用文档ID查询文档?

能烨华
2023-03-14

我试图根据文档ID查询文档,但我无法使用

this.afs.collection<books>('books' , ref => ref.where( ref.id , 'in' , ['4L9uf4w5fqFXlU0uLbEM','bpXgEOmYqGor8uhUz2uq','tJFYPJcLMYNS8qnaUtMv'])).snapshotChanges().pipe(
            map(actions => {
            return actions.map( a => {
                const data = a.payload.doc.data();
                return {...data};
            });
        })
     );

AFS是AngularFiRecovery类型

我不知道上面的代码是否正确。

我尝试了在中提到的解决方案:通过将ref.id替换为firebase来查询firestore数据库中的文档id。firestore。FieldPath。documentId(),但我收到一个错误:

“Firebase”是指UMD全局,但当前文件是一个模块。

帮助我检索数据。

共有2个答案

於永寿
2023-03-14

另一种方法是在创建文档时在文档中添加id字符串属性(使其等于文档的实际id)并将其用于查询。

傅琦
2023-03-14

我可以用firebase替换ref.id来解决这个问题。firestore。FieldPath。documentId()和从“firebase/app”导入作为firebase的导入*

这个问题也可以通过从“Firebase”导入import*作为fire base来解决;但正如@Stratubas在上面导入的评论部分提到的那样

控制台中的警告

因此,建议使用“firebase/app”中的导入*作为firebase

最后,我的代码看起来:

import * as firebase from 'firebase/app';

this.afs.collection<books>('books' , ref => ref.where( firebase.firestore.FieldPath.documentId() , 'in' , ['4L9uf4w5fqFXlU0uLbEM','bpXgEOmYqGor8uhUz2uq','tJFYPJcLMYNS8qnaUtMv'])).snapshotChanges().pipe(
            map(actions => {
            return actions.map( a => {
                const data = a.payload.doc.data();
                return {...data};
            });
        })
     );
 类似资料:
  • 我一直在使用jmeter对mongodb进行加载测试,接下来我将使用一个具有这些数据的不同的db 我已经在这里保存了已保存的mongoHost,mongoPort,databaseName,collectionName jmeter变量 这个连接测试通过了,但我无法从数据库中获取、读取任何数据并通过测试,这是代码 错误 谢谢你

  • 在本页上查询文档ID的fiRecovery数据库 我发现这个javascript示例在where子句中使用documentId Android的等价物是什么?我尝试使用 但没用 编辑:我不想使用 因为我想学习如何将用作字段,以便我可以在其他查询中使用它,例如 (来自通过Javascript在FiRecovery中获取按文档ID排序的数据?)在Android中 简而言之,什么是firebase的等价

  • 我正在寻找一种通过文档id而不是字段进行查询的方法。 可能是这样的: 在这种情况下,searchInput是一个不完整的documentId。 我在Stackoverflow上看到了一个解决方案,但它不适用于Flatter:https://stackoverflow.com/a/52252264/8539070 要记住的另一件事是,我正在尝试显示集合中与id的某些部分匹配的所有文档的列表。 谢谢你

  • 正如我从“云火数据模型”指南中得到的,“每个文档都由一个名称标识。”是否可以通过该文档标识符(即名称或ID)查询集合? 例如,集合“Things”中的文档具有IDs、1、2等。: 是否可以查询 ID 小于 100 的文档?

  • 我想在firestore数据库中查询文档id。目前我有以下代码: 我没有结果。但当我查询其他字段时,它会起作用: 文档id的名称是如何调用的?

  • 我是Elasticsearch的新手,我面临一个问题。我的任务是搜索一组文档。例如,我有这样结构的数据: 但是困难的是,我如何获取所有带有project_id=abc的文档,然后通过与关键字“测试”匹配的任何其他字段(代码、名称、状态)搜索它们(例如)。我如何在Elasticsearch查询中做到这一点,请帮助我! 谢谢