我有一个用于存储字段信息的类型集合。每个字段都有一个类型:输入,选择框,多重选择。某些字段类型具有带有键和标签的预定义选项。
以下是类型文档的示例:
{
id: 't-123'
attributes: [
{
id: 'a-1',
type: 'INPUT'
},
{
id: 'a-2',
type: 'SELECT',
option: [
{key: 'DE', label: 'Germany'},
{key: 'US', label: 'United States'}
]
}
]
}
此外,我有一个表单集合,该表单集合引用类型集合并存储用户的所有填充字段。
以下是表单文档的示例:
{
id: 'f-1',
type: 't-123',
values: [
{attribute: 'a-1', value: 'my random string'},
{attribute: 'a-2', value: 'DE'}
]
}
现在,我正在尝试查询表单集合,并自动为类型为SELECT的字段从类型集合中添加选择的键/标签对象。我想知道是否可以在mongoDB或仅在node.js中做到这一点。
这是我想要的结果:
{
id: 'f-1',
type: 't-123',
values: [
{attribute: 'a-1', value: 'my random string'},
{attribute: 'a-2', value: {key:'DE', label:'Germany'}}
]
}
因此,查询需要检查attribute.type是否等于'SELECT',并根据存储在表单中的键从options数组中找到相关对象。否则,它将使用存储在表单文档中的值。
我可以在MongoDB查询中做类似的事情吗,还是必须遍历数据库结果并手动处理数据?谢谢!