在Javascript中查询parse.com中的指针对象

Y M*_*Y M 15 javascript parse-platform parse-cloud-code

我有一个有用户指针的公司类.我希望在Company类上的查询是这样的:

检索公司行,其中User对象的名称等于'ABC'

那么,我该如何形成这个查询呢?

var Company = Parse.Object.extend("Company");
var query = Parse.Query(Company);
query.include("User");

query.equalTo("name")       ????
Run Code Online (Sandbox Code Playgroud)

是否可以在单个查询中编写此类请求?谢谢.

jef*_*ll2 16

您需要首先根据"ABC"的名称查询用户.然后在该查询的成功回调中,使用从User查询返回的objectId对Company表执行查询.像这样的东西:

var userQuery = Parse.Query('_User');
var companyQuery = Parse.Query('Company');

userQuery.equalTo('name', 'ABC');

userQuery.find({
  success: function(user) {
    var userPointer = {
      __type: 'Pointer',
      className: '_User',
      objectId: user.id
    }

    companyQuery.equalTo('user', userPointer);

    companyQuery.find({
      success: function(company) {
        // WHATEVER
      },
      error: function() {
      }
    });
  },
  error: function() {
  }
});
Run Code Online (Sandbox Code Playgroud)


小智 10

您可以使用内部查询:

var Company = Parse.Object.extend("Company");
var mainQuery = Parse.Query(Company);

var UserObject = Parse.Object.extend("User");
var innerUserQuery = new Parse.Query(UserObject);
innerBankQuery.equalTo("name", "ABC");
mainQuery.matchesQuery("bank", innerBankQuery);

var ansCollection = mainQuery.collection();
    ansCollection.fetch({
        success: function(results) {
         // Do whatever ...
      }
    });
Run Code Online (Sandbox Code Playgroud)

  • 您的示例中的“innerBankQuery”是什么? (2认同)