我的任务是(有效地)将给定的对象数组映射/转换为存储在MongoDB集合中的值,并且一直在努力寻找做到这一点的最佳方法。集合的文档方案如下:
{
value: {
type: String,
unique: true,
required: true,
minLength: 1
},
translation: {
type: String,
required: true,
minLength: 1
},
mapping: {
type: Map,
of: String
}
}
文档的示例为:
{
value: "ex",
translation: "example",
mapping: {
"0":"No examples",
"1":"One example"
}
}
{
value: "sp",
translation: "sample",
mapping: {
"0":"No samples",
"1":"One sample"
}
}
收到的输入是一个对象数组:
[{"name": "ex", "value": "0"}, {"name": "sp", "value": "1"}]
(映射后)需要返回的内容类似于:
[{"name": "example", "value": "No examples"}, {"name": "sp", "value": "One sample"}]
我已经想到了多种方法来实现这一目标:
很明显,选项1并不是那么好。我需要一些帮助来确定最佳的行动计划。例如,是否有可能创建单个MongoDB查询来查找所有文档并返回与输入中“值”属性相对应的正确DB值(选项3)?
还是应该使用其他方法解决此问题?