Faunadb 动物区系检索

Faunadb 动物区系检索,faunadb,Faunadb,我在产品集合中有两个文档 { "ref": Ref(Collection("products"), "300137558676865540"), "ts": 1622492331145000, "data": { "product_id": 1004, "display_name": "Product By ABC&qu

我在
产品
集合中有两个文档

{
  "ref": Ref(Collection("products"), "300137558676865540"),
  "ts": 1622492331145000,
  "data": {
    "product_id": 1004,
    "display_name": "Product By ABC",
    "description": "Product Description ABC",
    "status": "in_stock",
    "price_current": 100,
    "supplier": Ref(Collection("suppliers"), "300137504766427654")
  }
},
{
  "ref": Ref(Collection("products"), "300137592998855170"),
  "ts": 1622492386360000,
  "data": {
    "product_id": 1005,
    "display_name": "Product By XYZ",
    "description": "Product Description XYZ",
    "status": "in_stock",
    "price_current": 150,
    "supplier": Ref(Collection("suppliers"), "300137513423471107")
  }
}
{
  "ref": Ref(Collection("suppliers"), "300137504766427654"),
  "ts": 1622492279715000,
  "data": {
    "supplier_id": 205,
    "display_name": "Test Supplier ABC"
  }
},
{
  "ref": Ref(Collection("suppliers"), "300137513423471107"),
  "ts": 1622492287963000,
  "data": {
    "supplier_id": 206,
    "display_name": "Test Supplier XYZ"
  }
}
然后我的
供应商
收藏中还有两份文件

{
  "ref": Ref(Collection("products"), "300137558676865540"),
  "ts": 1622492331145000,
  "data": {
    "product_id": 1004,
    "display_name": "Product By ABC",
    "description": "Product Description ABC",
    "status": "in_stock",
    "price_current": 100,
    "supplier": Ref(Collection("suppliers"), "300137504766427654")
  }
},
{
  "ref": Ref(Collection("products"), "300137592998855170"),
  "ts": 1622492386360000,
  "data": {
    "product_id": 1005,
    "display_name": "Product By XYZ",
    "description": "Product Description XYZ",
    "status": "in_stock",
    "price_current": 150,
    "supplier": Ref(Collection("suppliers"), "300137513423471107")
  }
}
{
  "ref": Ref(Collection("suppliers"), "300137504766427654"),
  "ts": 1622492279715000,
  "data": {
    "supplier_id": 205,
    "display_name": "Test Supplier ABC"
  }
},
{
  "ref": Ref(Collection("suppliers"), "300137513423471107"),
  "ts": 1622492287963000,
  "data": {
    "supplier_id": 206,
    "display_name": "Test Supplier XYZ"
  }
}

如何通过
供应商
参考字段搜索
产品
集合?感谢您的帮助!谢谢

动物群中的所有搜索都是使用索引完成的。您需要为“产品”集合创建索引,将“供应商”指定为搜索字段(即索引中的
术语
字段):

然后,您可以找到
供应商
字段与特定供应商的参考匹配的所有产品:

> Paginate(
  Match(
    Index("products_by_supplier"),
    Ref(Collection("suppliers"), "300137504766427654")
  )
)
{ data: [ Ref(Collection("products"), "300137558676865540") ] }
如果要验证结果是否正确,可以迭代结果以获取关联的产品文档:

> Map(
  Paginate(
    Match(
      Index("products_by_supplier"),
      Ref(Collection("suppliers"), "300137504766427654")
    )
  ),
  Lambda("X", Get(Var("X")))
)
{
  data: [
    {
      ref: Ref(Collection("products"), "300137558676865540"),
      ts: 1622501576960000,
      data: {
        product_id: 1004,
        display_name: 'Product By ABC',
        description: 'Product Description ABC',
        status: 'in_stock',
        price_current: 100,
        supplier: Ref(Collection("suppliers"), "300137504766427654")
      }
    }
  ]
}
请注意,我的结果中的
ts
字段与您的不同,因为我刚刚创建了这些文档

有关详细信息,请参见搜索教程: