使用 REST API 获取多对多关系项

Fetch many-to-many relation items with REST API

在 Parse 中,我有两个具有多对多关系的 classes,例如 Products 及其 ProductImages。我在 class Products 中创建了与 ProductImages 的关系,并且所有查询和更新都可以正常工作。 Parse 上关于多对多关系的文档有限。

如何使用相应的 ProductImages 数据查询所有产品(休息 API 调用)?

预期响应如下:

{
"name": "Apples",
"productImages": [
  {
"imagePath":"",
"videoPath":""
  }, {
"imagePath":"",
"videoPath":""
  }
]
}

REST api 中没有端点可以同时查询两者 类,但您可以编写一个云代码函数来执行此操作并检索您需要的所有数据一个请求。我会这样做:

Parse.Cloud.define('getProductsAndImages', async req => {
  const productsQuery = new Parse.Query('Product');
  const products = await productsQuery.find();
  return Promise.all(products.map(async product => ({
    ...product.toJSON(),
    productImagesObjs: await product.get('productImages').query().find()
  })));
});

然后您可以使用 REST API 调用该函数,如下所示:

curl -X POST \
  -H "X-Parse-Application-Id: ${APPLICATION_ID}" \
  -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{}' \
  https://server.address.com/parse/functions/getProductsAndImages