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

Azure Storage - NodeJS - Can I Store Objects?

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 它并将其存储为字符串?

在您的例子中,stuff 是 JSON。 Table 存储实体没有 JSON 类型。您需要进行字符串化,从而生成 String 类型。

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

仅供参考,列出了所有支持的 Table 实体类型 here