0
所以,我在我的貓鼬以下模式:模式,以節省鍵值對的屬性 - 貓鼬
// MODEL
const PortletSchema = new Schema({
slug: String,
version: String,
environment: String,
scap: Number,
country: {
type: String,
uppercase: true
},
_keys: [{ key: String, value: String }]
});
的「_keys」數組裏面,我要救一個鍵值JSON這樣:
// EXPECTED WAY TO STORE DATA INSIDE THE _keys PROPERTIES
{
[
{"key": "value"},
{"anotherKey": "Another Value" }
]
}
這樣的方式,我可以有「動態密鑰」的_keys屬性,而不是定義裏面想:
// HOW I STORE THEM TODAY
[{ key: String, value: String }]
爲什麼我要這?:這將通過一個Java應用程序讀取,通過服務,並預計其映射陣列來獲得這樣的鍵:${anotherKey}
。
此刻,在將信息發送給Java應用程序之前,我創建了一個庫來將密鑰更改爲第一種提到的方式。所以Java應用程序正在接收它們,就像代碼的第二部分。
我希望我可以在_keys裏存儲一個json文件,所以我會以我需要的方式發送信息。
任何幫助或建議是非常歡迎的!
您預期的'_keys'的json模式不是有效的json! –
感謝@KayvanMazaheri,其實我忘了把正確的屬性,因爲它是現在,是這樣的: _keys:[{鍵:字符串值:字符串}] 謝謝! – diegoalmesp
你實際上不能像這樣「鍵入」,因爲你告訴模式要做的事實際上是**確保**所有條目都遵循{「key」:「data」,「value」:「data」} '模式。所以這個模式表明它必須**具有「'鍵」,「值」和沒有其他名稱的鍵。如果你希望它是「可變的」,那麼你使用'_keys:[Mixed]'或甚至只是'_keys:[]'。你「可以」添加自定義驗證,以確保這總是**兩**鍵只爲每個對象。但架構類型本身不能單獨做到這一點。 –