我正在尝试获取已登录用户的联系人列表,但我无法弄清楚如何找到当前用户。我从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);
}
});
});
答案 0 :(得分:1)
听起来你想用StackMob的schema permissions来做这件事。
例如,您可以设置权限,以便您的用户只能阅读他们自己创建的contact
个对象。
当用户创建对象时,sm_owner
字段将自动设置为当前登录的用户。要利用此功能,您可以设置contacts
架构,仅允许用户阅读自己的联系人。这样,当前用户的过滤在服务器端完成,您不必在客户端上专门进行查询。
如何设置:
Go go Schema Configuration and Edit选择你的架构。在架构权限下,为Logged In Permissions -> Allow to sm_owner
,Read
和Update
选择Delete
。
现在,当您查询contacts
架构时,只返回contact
个对象(sm_owner
==当前用户)。然后你可以简单地删除这一行:
q.equals('sm_owner', 'user/thomas');