2016-08-11 50 views
1

我想要获取数组onlineUsers中存在的用户,但它给了我以下错误。有人可以给我解决,如果这行不通Azure移动服务表过滤器

CODE:

exports.post = function(request, response) { 
    var onlineUsers = ["6990"];  
    // Tables 
    var userTable = request.service.tables.getTable('Users'); 
    userTable.where(
     function(ou) { 
      return ou.search(this.id) != -1; 
     },onlineUsers).read({ 
      success : function(users){ 
       response.send(statusCodes.OK, { message : users }); 
      }    
    }); 
}; 

错误:

Error in script '/api/test_find.js'. Error: The expression 'ou.search(this.id)'' is not supported. 

回答

2

尝试以下操作:

userTable.where(function(ou) { 
    return this.id in ou; 
}, onlineUsers) 

请记住,生成的SQL为每个元素onlineUsers包含一个单独的where子句,因此它可以成为退出如果数组包含很多元素,则效率低下。我们正在研究改进查询API。

+0

为我工作,谢谢。 –