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

按Firestore中“reference”类型的字段查询

方承弼
2023-03-14

tickets集合中的字段称为“category”,其字段类型为reference

在下面的代码中,categorydocid是我要查询的类别的文档ID。

const categoryDocID = `5gF5FqRPvdroRF8isOwd`;

const files = await firebase
  .firestore()
  .collection('tickets')
  .where('category', '==', categoryDocID)
  .get();

为什么files.length返回0?

为了进行测试,我将category字段类型更改为string,并将其设置为类别ID,而不是直接引用。这正确地返回了分配给类别的票证,这使我相信这是关于我如何查询引用字段的。

共有1个答案

赵晟睿
2023-03-14

正如您将在文档中读到的,Reference数据类型用于存储Documentreferences。

如果要在查询中使用它,则不能使用简单字符串,既不能使用文档的UID(即'5GF5FQRPVDRORF8ISOWD')也不能使用字段中存储的字符串值(即'/categories/5GF5FQRPVDRORF8ISOWD')。

您必须构建一个DocumentReference并在查询中使用它,如下所示:

const categoryDocRef = firebase.firestore()
   .collection('categories')
   .doc('5gF5FqRPvdroRF8isOwd');

const files = await firebase
  .firestore()
  .collection('tickets')
  .where('category', '==', categoryDocRef)
  .get();
 类似资料:
  • 问题内容: 我正在尝试确定对象上字段的类型。当对象传递给我时,我不知道对象的类型,但我需要查找为s的字段。区分框s 很容易,但是原始图元似乎更加困难。 我 可以 确保传递给我的对象只有,没有基元,但我宁愿没有。所以我有: 一种似乎可行的hacky方法是: 如果有的话,我真的很希望有一种更清洁的方法。如果没有更好的方法,那么我认为要求我接收的对象仅使用(not )将是更好的API。 有任何想法吗?

  • 本文档包含了Django提供的全部模型字段的字段选项 和 字段类型的API参考。 请看: 如果内建的字段不能满足你的需要,你可以尝试包含对特定国家和文化有帮助的配套代码的 django-localflavor。当然,你也可以很容易的编写你自定义的字段。 注意 严格意义上来讲, Model 是定义在django.db.models.fields里面,但为了使用方便,它们被导入到 django.db.

  • 带有我的适配器的代码段是:

  • 如何根据用户定义的类型字段筛选cassandra查询?我想在我的cassandra数据库中创建人员表,所以我在我的cassandra中创建了这个用户定义的类型。 我也有这张桌子。 我需要过滤我的查询,以了解所有姓氏jolie的人。我如何从这个表中查询这个。在cassandra中过滤和查询的情况如何?我知道我可以删除全名类型并将名字和姓氏添加到主表中,但这是我想要做的一个示例。我必须有全名类型。

  • 场景:登录www.makemytrip.com-->单击“我的帐户”链接-->单击“配置文件”选项-->弹出“个人信息” 我不能使用Select,因为它不是类型下拉列表。好心的建议,我可以如何编码选择不同的值从类型按钮的标题字段。

  • 我尝试使用函数JSON\u array\u elements()卸载JSON数组,并尝试使用JSON\u array\u length(field\u name)计算数组的元素,但没有成功。我使用的是PostgreSQL 9.4.5。 我想查询元素“name”的结果,这是json类型数组field crew | json[]上保存的数据。