我已经将数据存储到我的 mongodb 集合中一段时间了,如下所示:
const addDoc = {
email: req.body.email,
name: req.body.name,
region: req.body.region,
field1: req.body.accountData.field1,
field2: req.body.accountData.field2,
field3: req.body.accountData.field3,
field4: req.body.accountData.field4,
field5: req.body.accountData.field5,
}
为了便于示例,我更改了名称“field1-5”,但它们都来自 accountData 中的数组,JSON 如下所示:
{
email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a8cdc5c9c1c4e8cdc5c9c1c486cbc7c5" rel="noreferrer noopener nofollow">[email protected]</a>",
name: "first name",
region: "Europe",
accountData:{
field1: "field1",
field2: "field2",
field3: "field3",
field4: "field4",
field5: "field5",
}
}
我很好奇如果 accoundData 中的数组有成百上千个字段,你会怎么做,有没有办法使用字段名称作为数据库中的名称自动将每个字段保存到 mongodb 中?这样您就不必手动绘制:
field1: req.body.accountData.field1
数千次。
提前致谢。
最佳答案
您只想使用 desctructuring assignment
const req = {
body: {
email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c1a0a0a081a0a0a0efa0a0" rel="noreferrer noopener nofollow">[email protected]</a>',
name: 'test',
region: 'arct',
accountData: {
field1: 'some data',
field2: 'some date 2',
field3: 'another data'
}
}
}
const addDoc = {
email: req.body.email,
name: req.body.name,
region: req.body.region,
...req.body.accountData
}
console.log(addDoc)
关于javascript - 自动将数据保存到 Mongodb 映射数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73872858/