如果我明白你的問題的權利,你想找到你的朋友請求你sent
,或者你的received
。因爲我不知道你在哪裏與用戶和他的朋友建立了關係。 這是代碼,如果你想這樣做使用雲代碼:
首先,我確認被保存在friendRequest
的參數:
Parse.Cloud.beforeSave("Friends", function(request, response){
var friendRequest = request.object;
if (!friendRequest.has("toUser") || !friendRequest.has("fromUser")) {
response.error("Invalid parameters");
return;
}
response.success();
});
然後我創建了兩個雲功能,一個用於檢索sentRequests
:
Parse.Cloud.define("getSentRequests", function(request, response){
var query = new Parse.Query("Friends");
query.equalTo("fromUser", request.user);
if (!request.master) {
query.find({ sessionToken: request.user.getSessionToken() }).then(function(friends){
response.success(friends);
});
}else{
query.find({useMasterKey:true}).then(function(friends){
response.success(friends);
});
}
});
,你可以從一個登錄的用戶或使用masterKey,如果你想和其他查詢是針對recievedRequests
稱之爲:
Parse.Cloud.define("getRecievedRequests", function(request, response){
var query = new Parse.Query("Friends");
query.equalTo("toUser", request.user);
if (!request.master) {
query.find({ sessionToken: request.user.getSessionToken() }).then(function(users){
response.success(users);
});
}else{
query.find({useMasterKey:true}).then(function(users){
response.success(users);
});
}
});
通過這種方式獲取與當前用戶不是朋友的用戶列表是壞主意,因爲他可能有0個朋友,在這種情況下,您將運行一個非常緩慢的查詢來獲取數據庫的所有用戶 –
謝謝你的馬科斯,我明白了,但是我需要班級「朋友」,因爲我從中檢索了額外的信息,比如朋友請求發送的用戶的推送和本地通知。並且你對所有用戶的查詢都是正確的,只想通過在用戶輸入用戶名時篩選搜索用戶來限制它,例如instagram。但是,怎麼..?總的來說,我需要instagram的哲學 – giorgionasis