【问题标题】:Write data from two arrays in one document将两个数组中的数据写入一个文档
【发布时间】:2020-01-09 10:25:23
【问题描述】:

我有一些数据要合并到 mongoDB 的一个文档中。 我有两个数组

const users = ['Anna', 'Jack', 'Paul', 'Elena']
const additionalData = ['data1', 'data2', 'data3', 'data4', 'data5']

for(const i of users){
    const user = {
      username: i.username
  };
  for(const key of additionalData){
    user.keyword = key
  }
  await User.create(model)
}

[
 {
  username: 'Anna',
  keyword: 'data1'
 },
 {
  username: 'Jack',
  keyword: 'data2'
 },
 {
  username: 'Paul',
  keyword: 'data3'
 },
 {
  username: 'Elena',
  keyword: 'data4'
 }
]

我需要将这些数组合并到一个文档中

【问题讨论】:

    标签: javascript arrays node.js mongodb


    【解决方案1】:

    试试这个,你只需要遍历users 并使用当前索引从additionalData 获取数据。您可以通过两种方式实现这一目标

    原生方式

    const users = ['Anna', 'Jack', 'Paul', 'Elena'];
    const additionalData = ['data1', 'data2', 'data3', 'data4', 'data5'];
    
    const newArray = [];
    for (let i = 0; i < users.length; i += 1) {
    const user = users[i];
    const obj = { userName: user, keyword: additionalData[i] || null };
    newArray.push(obj);
    }
    console.log(newArray);

    ES6 方式

    const users = ['Anna', 'Jack', 'Paul', 'Elena'];
    const additionalData = ['data1', 'data2', 'data3', 'data4', 'data5'];
    
    const result = users.map((r, i) => {
    const obj = { userName: r, keyword: additionalData[i] || null };
    return obj;
    });
    
    console.log(result)

    【讨论】:

      【解决方案2】:
      // Users and additionalData array
      const users = ['Anna', 'Jack', 'Paul', 'Elena'];
      const additionalData = ['data1', 'data2', 'data3', 'data4', 'data5'];
      
      // Merge them with this
      $.merge( $.merge( [], users ), additionalData );
      

      【讨论】:

      猜你喜欢
      • 2015-11-25
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2020-06-11
      相关资源
      最近更新 更多