Azure移动服务表过滤器

时间:2016-08-11 07:55:57

标签: node.js azure nodes azure-mobile-services

我正在尝试获取数组onlineUsers中存在的用户,但它给了我以下错误。如果这不起作用,有人可以帮我解决一下

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:

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

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

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

请记住,生成的SQL为onlineUsers的每个元素包含一个单独的where子句,因此如果数组包含许多元素,它会变得非常低效。我们正在考虑改进查询API。