2017-03-02 107 views
0

The Azure Storage library for NodeJS顯示了創建任務如下:Azure存儲 - 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))), 
}; 

但是,它可以存儲對象(如一樣的東西):

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

就你而言,stuff是JSON。表存儲實體沒有JSON類型。您需要串聯,導致String類型。

您也可以選擇對JSON文檔中的每個元素使用單獨的屬性(並且每個實體可以包含不同的屬性 - 不強制執行模式;您只需要給存儲對象類型一個提示,以便你可以根據需要檢索屬性)。是的,當你繼續嵌套JSON對象時,這會變得更加棘手,就像你的例子那樣。

FYI全部支持表實體類型列表here

+0

第二項是你說我可以做的: stuff:{「abc」:entGen.String(「def」),「ghi」:{「aaa」:entGen.String(「w」)}} 或者你是否只是說我可以將它們全部移動到頂層,意識到每個實體都不具有相同的屬性? – Doug

+0

我在說你要麼將整個JSON串聯起來,要麼將每個JSON屬性存儲爲一個單獨的表實體字符串屬性。沒有JSON屬性類型。 –

相關問題