Azure存储 - NodeJS - 我可以存储对象吗?

时间:2017-03-02 02:21:02

标签: node.js azure azure-table-storage

The Azure Storage library for NodeJS显示如下创建任务:

var azure = require('azure-storage');
var entGen = azure.TableUtilities.entityGenerator;
var task = {
  PartitionKey: entGen.String('hometasks'),
  RowKey: entGen.String('1'),
  description: entGen.String('take out the trash'),
  dueDate: entGen.DateTime(new Date(Date.UTC(2015, 6, 20))),
};

但是可以存储一个对象(例如Like Stuff):

var azure = require('azure-storage');
var entGen = azure.TableUtilities.entityGenerator;
var task = {
  PartitionKey: entGen.String('hometasks'),
  RowKey: entGen.String('1'),
  description: entGen.String('take out the trash'),
  dueDate: entGen.DateTime(new Date(Date.UTC(2015, 6, 20))),
  stuff : { "abc" : "def", "ghi" : "jkl", "mno" : { "pqr" : "stf" }}
};

或者我是否需要JSON.stringify并将其存储为字符串?

1 个答案:

答案 0 :(得分:1)

在您的情况下,stuff是JSON。表存储实体没有JSON类型。您需要进行字符串化,从而产生String类型。

您还可以选择为JSON文档中的每个元素使用单独的属性(并且每个实体都可以包含不同的属性 - 不强制执行任何模式;您只需要自己提供存储对象类型的提示,以便您可以根据需要检索属性)。是的,当您继续嵌套JSON对象时,这会变得更加棘手,就像您的示例那样。

FYI所有支持的表实体类型都列在here