【问题标题】:Parse relation query help required需要解析关系查询帮助
【发布时间】:2015-07-09 12:33:20
【问题描述】:

我是 Parse 的新手,显然是 WP 背景。

我在 Parse 上有 2 个课程:[prop] 和 [propmeta]
这些类的关系就像 post & post_meta

道具
- 地址
- 描述

propmeta
- 道具(指向道具的指针)
- 元密钥
- 元气

以下是返回的 [prop] 的现有查询

{  
   "result":[  
      {  
         "__type":"Object",
         "addr":"taman klang",
         "className":"prop",
         "createdAt":"2015-07-08T07:18:31.101Z",
         "desc":"no desc",
         "objectId":"eZmV76Ie6t",
         "updatedAt":"2015-07-08T08:27:14.924Z"
      },
      {  
         "__type":"Object",
         "addr":"taman cheras",
         "className":"prop",
         "createdAt":"2015-07-08T07:19:17.005Z",
         "desc":"no desc",
         "objectId":"QIEy9AyqtH",
         "updatedAt":"2015-07-08T08:26:56.007Z"
      }
   ]
}

我的云代码查询

Parse.Cloud.define("prop_get", function(request, response) {
  var limit   = request.params.limit;
  var skip    = request.params.skip;
  var orderby = request.params.orderby;
  var order   = request.params.order;

  var prop        = Parse.Object.extend("prop");
  var query       = new Parse.Query(prop);
  query.find({
    success: function(results) {
      response.success(results);
    },
    error: function() {
      console.log("error: " + error);
    }
  });

});

我想要实现的是查询 [prop] 并附加了 [propmeta] 子节点并作为 1 个 json 结果返回。(由于 Parse 通过 API 调用收费,这立即成为要求) p>

请建议修改云代码(首选)或更改为适当的架构或任何可以达到预期结果的解决方案。

谢谢。

【问题讨论】:

    标签: json parse-platform relation parse-cloud-code


    【解决方案1】:

    为什么在propclass 中没有propmeta 指针,而不是像现在这样的其他方式。然后,您将能够像下面这样查询。只需使用include()

    var prop        = Parse.Object.extend("prop");
    var query       = new Parse.Query(prop);
    query.include("prop_meta_column_name");
    query.find({.....});
    

    但是,如果您不想更改 Parse 类结构,则必须改为查询您的 propmeta 类,同时将 include 用于您的 prop 指针列:

    var propmeta        = Parse.Object.extend("propmeta");
    var query       = new Parse.Query(propmeta);
    query.include("prop_column_name");
    query.find({.....});
    

    【讨论】:

    • 感谢您的回答,
    • 我尝试按照您的建议反转架构,将关系(propmeta)添加到 [prop] 并包含 query.include("propmeta");但是 query.include 不适用于关系列,因为错误返回:{“code”:141,“error”:“无法包含字段 propmeta,因为它不是指向另一个对象的指针”} *因为 [prop] -> [propmeta ] = 1 -> many,向 [prop] 添加指针(propmeta)不符合关系。
    • 好吧...不知道 1 -> 很多细节。所以一个prop 对象可以有许多propmeta 对象。那么当前的设置就可以了。第二个查询应该可以正常工作。
    • 第二个查询工作正常,返回 [propmeta] 作为父节点,[prop] 作为子节点,但棘手的(对我来说)部分是想要查询返回 [prop] 作为父节点,[propmeta ] 作为子节点。任何的想法?或者这在 Parse.com 上是不可行的?
    • 那么您是否要在查询中为某个特定的prop 获取propmeta
    猜你喜欢
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多