javascript - 如何在 Azure 表存储中查找与值数组不匹配的记录?

标签 javascript azure azure-mobile-services

我正在尝试在 Azure 移动服务上执行“doesNotContainAllObjectsInArray”类型操作。例如,假设我有一个名为 Number 的表,该表中包含具有以下“数字”值的记录:11111、22222、33333、44444。

我希望能够编写一个查询,允许我传递一组我特别不想要的数字,例如:[11111,44444] 应该让我得到[22222, 33333]

我尝试在 where 运算符中使用 JavaScript,但收到一条错误消息,指出不支持该表达式。这是我尝试过的:

var numberTable = tables.getTable('Number');
var ignoreNumbers = ['11111', '44444'];
numberTable.where(function(numbers) {
    return (numbers.indexOf(this.number) > -1);
}, ignoreNumbers).read({
    success: function(foundNumbers) {
        console.log('Found ' + foundNumbers.length + ' numbers!');
    },
    error: function(error) {
        console.error('Error with query! ' + error);
    }
});

注意:我无法对ignoreNumbers 值进行硬编码,因为该数组是从先前的查询生成的。

任何人都可以建议我如何执行这样的查询吗?我需要构建 SQL 语句并使用 mssql 执行它吗? (...这对于表存储来说是可能的吗?)

最佳答案

您正在描述 Table Queries 中不支持的 SQL except 运算符。 。我发现执行此操作的唯一方法是将表加载到内存中(由于大小通常不可行),然后使用 LINQ 执行 except 查询。

关于javascript - 如何在 Azure 表存储中查找与值数组不匹配的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560817/

相关文章:

c# - Azure API 应用程序登录和身份验证

java - Azure移动服务: send push notification to specific android device

azure-active-directory - 具有不同受众的 Azure AD 范围

javascript - 如何在map函数内对数组进行累加和?

Azure Sentinel/Monitor - 是否可以将 Azure AD 用户配置文件详细信息(使用位置、国家或地区、办公室)获取到 Azure Sentinel 日志中?

javascript - AngularJS:删除 charAt 最后索引 ","

azure - 使用azure sql数据库查询azure分析服务

Azure Data Lake Store 作为 Databricks 中的外部表

<a> 的 javascript:void(0) 或 onclick ="return false"- 哪个更好?

javascript - Zebra Dialog - 获取输入文本框值