[英]Current logged-in user in stackmob
我正在嘗試獲取已登錄用戶的聯系人列表,但是我不知道如何找到當前用戶。 我從Parse.com知道您使用Parse.User.current(),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','user / thomas')毫無用處。
$(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);
}
});
});
例如,您可以設置權限,以便用戶只能讀取他們自己創建的contact
對象。
用戶創建對象時, sm_owner
字段將自動設置為當前登錄的用戶。 要利用此優勢,您可以將contacts
架構設置為僅允許用戶讀取自己的聯系人。 這樣,當前用戶的過濾是在服務器端完成的,您不必在客戶端上專門查詢它。
如何設置:
轉到模式配置,然后編輯以選擇您的模式。 在“模式權限”下,選擇“ Logged In Permissions -> Allow to sm_owner
Read
, Update
和Delete
。
現在,當您查詢contacts
架構時,將僅返回其中( sm_owner
==當前用戶)的contact
對象。 然后,您可以簡單地刪除以下行:
q.equals('sm_owner', 'user/thomas');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.