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并将其存储为字符串?
答案 0 :(得分:1)
在您的情况下,stuff
是JSON。表存储实体没有JSON
类型。您需要进行字符串化,从而产生String
类型。
您还可以选择为JSON文档中的每个元素使用单独的属性(并且每个实体都可以包含不同的属性 - 不强制执行任何模式;您只需要自己提供存储对象类型的提示,以便您可以根据需要检索属性)。是的,当您继续嵌套JSON对象时,这会变得更加棘手,就像您的示例那样。
FYI所有支持的表实体类型都列在here。