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:[]'。你“可以”添加自定义验证,以确保这总是**两**键只为每个对象。但架构类型本身不能单独做到这一点。 –