如何获取具有指针字段的对象 ID 的记录

How to get a record with an objectId for the Pointer field?

本文关键字:字段 指针 对象 记录 ID 何获取 获取      更新时间:2023-09-26

假设我有一个Category类的记录objectId,我需要获取属于该类别的所有子类别(从SubCategory类)。 SubCategory.categoryId是一个Pointer领域Category。如果我这样做:

// State
.state('app.create-chambba', {
  cache: false,
  url: "/services/create-chambba/:categoryId",
  views: {
    "menuContent": {
      templateUrl: "views/app/services/create_chambba.html",
      controller: "CreateChambbaCtrl"
    }
  }
})
// Controller
var SubCategory = Parse.Object.extend("SubCategory");
var query = new Parse.Query(SubCategory);
query.equalTo("isActive", true);
query.equalTo("categoryId", $stateParams.categoryId); // categoryId is "aOPHM46mtR" 
query.ascending("name");
query.find(...);

我得到:

message: "pointer field categoryId needs a pointer value"

所以我最终做了:

var Category = Parse.Object.extend("Category");
var queryCategory = new Parse.Query(Category);
queryCategory.equalTo("objectId", $stateParams.categoryId);
queryCategory.first({
    success: function(category) {
        var SubCategory = Parse.Object.extend("SubCategory");
        var query = new Parse.Query(SubCategory);
        query.equalTo("isActive", true);
        query.equalTo("categoryId", category);
        query.ascending("name");
        query.find(..);
    }
});

这不是额外的工作吗?有没有更好的方法?

创建类别的新对象,并将此对象的 id 作为您搜索的 id。

  var category = new Category();  
  category.id=$stateParams.categoryId; 
  ....

并使用类别对象作为指针。

  query.equalTo("categoryId", catagory); 

这是小黑客,但它应该解决问题。