所以,我的Mongoose中有以下架构:
// 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文件,这样我就会按照我需要的方式发送信息。
非常欢迎任何帮助或建议!
答案 0 :(得分:1)
您可以使用地图
const schema: Schema = new Schema({
_keys: {
type: Map,
of: Object,
},
});
答案 1 :(得分:0)
正如@NeilLunn建议的那样,我使用_keys
这样的值:
_keys: []
这允许我在里面插入任何类型的对象。