我想获取登录用户的联系人列表,但我无法弄清楚如何找到当前用户。我知道从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