[英]Query on pointer in parse.com Objects in Javascript
我有一個有用戶指針的公司類。 我希望在Company類上的查詢是這樣的:
檢索公司行,其中User對象的名稱等於'ABC'
那么,我該如何形成這個查詢呢?
var Company = Parse.Object.extend("Company");
var query = Parse.Query(Company);
query.include("User");
query.equalTo("name") ????
是否可以在單個查詢中編寫此類請求? 謝謝。
您需要首先根據“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() {
}
});
您可以使用內部查詢 :
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 ...
}
});
我應該說查詢將是......
const userQuery = Parse.Query('_User');
userQuery.equalTo('name', 'ABC');
userQuery.find().then((user) => {
const companyQuery = Parse.Query('Company');
companyQuery.equalTo('user', {
__type: 'Pointer',
className: '_User',
objectId: user.id
});
companyQuery.find().then((company) => {
console.log(company);
});
});
假設您的公司集合中有一個名為User
且User Collection的字段有一個name
字段,那么您可以通過companyQuery.equalTo("User.name");
搜索具有用戶名的公司companyQuery.equalTo("User.name");
這適用於Parse 2.1.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.