我想獲取登錄用戶的聯繫人列表,但我無法弄清楚如何找到當前用戶。我知道從Parse.com使用Parse.User.current()Stackmob有這樣的事情嗎?當前在stackmob登錄的用戶
下面的代碼來演示我在找什麼。
$(window).load(function() {
var user = StackMob.User;
var Contacts = StackMob.Model.extend({ schemaName: 'contacts' });
var myContacts = new Contacts();
var q = new StackMob.Collection.Query();
q.equals('sm_owner', user);
q.orderAsc('FirstName'); //sort by title in ascending order
q.setRange(0, 9); //get the first 10. second 10 would be setRange(10,19)
myContacts.query(q, {
success: function (model) {
console.debug(model.toJSON()); //JSON array of matching Todo objects
},
error: function (model, response) {
console.debug(response);
}
});
});
我得到了我一直在尋找使用下面的代碼,但是有(「sm_owner」,'用戶/托馬斯)是有點沒用。
$(window).load(function() {
var Contacts = StackMob.Model.extend({ schemaName: 'contacts' });
var myContacts = new Contacts();
var q = new StackMob.Collection.Query();
q.equals('sm_owner', 'user/thomas');
q.orderAsc('FirstName'); //sort by title in ascending order
q.setRange(0, 9); //get the first 10. second 10 would be setRange(10,19)
myContacts.query(q, {
success: function (model) {
console.debug(model.toJSON()); //JSON array of matching Todo objects
},
error: function (model, response) {
console.debug(response);
}
});
});
值得一提的是,如果你嘗試獲取的東西,你不訪問,你會得到一個401未經授權響應。例如,如果只允許讀取「任何登錄用戶」,並且您沒有登錄,您將得到一個401響應,錯誤回調將被執行。 –
與此同時,根據Justin的例子,即使數據庫中可能有很多聯繫人,但只有thomas's會被返回,因爲Read權限設置爲「owner」。因此服務器將只返回允許的對象實例。這就是爲什麼你可以刪除'q.equals'('sm_owner','user/thomas')'行。它會在服務器端自動發生,這要感謝您設置的權限。 –
但是,如果確實需要使用當前用戶名建立查詢,則可以使用[getLoggedInuser](https://developer.stackmob.com/sdks/js/api#a-getloggedinuser)方法。 – Justin