javascript - 自动将数据保存到 Mongodb 映射数组

标签 javascript mongodb next.js mongodb-query

我已经将数据存储到我的 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/

相关文章:

javascript - HTML 电子邮件模板解决方案到 table TD 中的 javascript 链接?

node.js - 尝试访问 mongo 时 lambda 超时

google-cloud-firestore - "FirebaseError: false for ' 在快照上使用时得到 ' @ L5"firebase 错误,或者在使用 firebase 模拟器时得到 doc

javascript - Next.js 不在服务器端渲染中渲染 CSS

mongodb - 压缩两个数组并创建新的对象数组

markdown - 使用 Next.js 时,如何将我的博客的静态 Assets 与我的 Markdown 文件一起保存,而不是在公共(public)文件夹下?

javascript - 如何让div独立

javascript - Window.print 抛出程序停止错误

javascript - 如何检测来自 Firefox 历史记录下拉框的事件

node.js - 使用代理后面的 Mongoose 连接到 MongoDB 数据库