我正在将Azure表存储与节点js一起用于票务应用程序。我将客户端的名称用作分区键,并将票证ID用作行键。 例如:
RowKey: {'_': 232344}
我希望行键是ticketid和客户电话号码的组合。例如:
RowKey: {'_': 232344_9393944392} or RowKey: {'_': 2323449393944392}
并能够使用客户的电话号码对行键进行部分搜索,并检索客户提出的所有票证。 如何在Node JS中做到这一点?
以下代码是我查询表存储的方式。
const azure = require('azure-storage');
const query = new azure.TableQuery().where('PartitionKey eq ?',client).and('Rowkey eq?',ticketId);
这是我无法解决的问题,因为我不希望对行键进行部分搜索。
答案 0 :(得分:0)
有两种可能的解决方案:
PhoneNumber_TicketId
。如果是这样,则可以将票证中的电话号码搜索转换为诸如RowKey ge '9393944392' and RowKey lt '9393944393'
之类的过滤器字符串,这是全表扫描,因为该字符串中未过滤PartitionKey。这是一种效率较低的方法,因为会进行全表扫描。