我正在尝试使用针对Node.js的Azure表存储SDK在Timestamp的基础上查询Azure Cosmos DB表中的实体
我在数据库中使用的时间戳记
在代码中,我正在查询创建这样的过滤器
const filter = storage.TableQuery.dateFilter(
"Timestamp",
storage.TableUtilities.QueryComparisons.GREATER_THAN,
new Date(Date.UTC(2019, 0, 1))
);
query = new TableQuery().where(filter);
但是没有结果为我返回。
我用Google搜索了一下,并且发现了以下堆栈溢出问题
nodejs query azure storage table according to timestamp
答案中的两个解决方案都不适合我。
答案 0 :(得分:0)
这是我的示例代码,适用于我,如下所示,您可以参考重试。希望对您有所帮助。
我通过命令npm i azure-storage
安装了Node.js的Azure存储SDK
var azure = require('azure-storage');
var tableService = azure.createTableService('<your storage account>','<your storage key>');
有两种方法来构建查询对象。
直接使用where
函数和过滤器模板字符串和值。
var query = new azure.TableQuery().where('Timestamp ge ?', new Date(Date.UTC(2019, 0, 1)));
首先构建一个过滤器表达式,然后生成一个查询对象。
var filter = azure.TableQuery.dateFilter('Timestamp', azure.TableUtilities.QueryComparisons.GREATER_THAN, new Date(Date.UTC(2019, 0, 1)));
var query = new azure.TableQuery().where(filter);
最后,查询表实体。
console.log(query);
tableService.queryEntities('<your table name>', query, null, function(error, result, response) {
if(!error) {
// query was successful
console.log(result);
}
console.log(error);
});