node.js - 如何根据属性数量在节点中动态创建 Azure 表查询?
问题描述
我有一个可能是 1 个或更多属性的输入。使用 azure tablequery,查询是这样创建的:
var tableQuery = new TableQuery()
.where('Name == ?', 'Person1');
如果我有多个属性要查询,它看起来像这样:
var tableQuery = new TableQuery()
.where('Name == ?', 'Person1');
.and('Address == ?', '123 Street');
如何在不知道会有多少属性的情况下动态创建查询?在 dynamodb 中,我只是动态地创建了一个查询字符串,但我不知道如何在这里执行,您必须将 .and() 附加到函数的末尾...
解决方案
您可以通过链接多个调用来构建复杂的查询and
,例如:
var tableQuery = new TableQuery()
.where('Name == ?', 'Person1')
.and('AddressStreet == ?', '123 Street')
.and('AddressCity == ?', 'New York');
请注意,您也不必构建TableQuery
in 一个语句,您可以将其拆分为多个语句,可能带有条件,例如:
var tableQuery = new TableQuery()
.where('Name == ?', 'Person1')
.and('AddressStreet == ?', '123 Street');
if (city) {
tableQuery = tableQuery.and('AddressCity == ?', city);
}
推荐阅读
- java - 如何检查字符串是否包含给定字符串,而不是另一个给定字符串的一部分?
- reporting-services - 如何将小计的最大值分配给ssrs报告折线图中水平轴的间隔
- python - 将元素分配给列表中的列表
- ruby-on-rails - 允许未经确认的用户访问某些需要身份验证的页面
- c# - 价值分配是提高还是降低绩效还是什么都不做?
- visual-c++ - C++ 到 C# char[]
- class - v-for 中的 Vuejs 切换类
- ios - 当应用程序ID包含`-`时,Fabric不会上传应用程序?
- cookies - 多语言网站的 Cookie 同意横幅
- java - 使用 BcryptEncoder 使用 Spring 安全性登录失败