Javascript 按MongoDB返回的值合并两个对象数组

Javascript 按MongoDB返回的值合并两个对象数组,javascript,arrays,mongodb,mongoose,Javascript,Arrays,Mongodb,Mongoose,问题 我需要合并MongoDB按值返回的两个数组,但是我尝试过的用于常规javascript数组的所有方法都不能正常工作。非常感谢你的帮助 阵列 期望的结果 我尝试过的 _.从lodash合并 _.map&从lodash延伸 各种普通的javascript.map函数 一种可能的解决方案是使用array1并从array2获取相关的info数据,方法是: 常量数组1=[ {u id:'5c6c7132f9bf4bdab9c906ff',用户:'5c65d9438e4a834c8e85dd7d'}

问题

我需要合并MongoDB按值返回的两个数组,但是我尝试过的用于常规javascript数组的所有方法都不能正常工作。非常感谢你的帮助

阵列

期望的结果

我尝试过的

  • _.从lodash合并
  • _.map&从lodash延伸
  • 各种普通的javascript.map函数

  • 一种可能的解决方案是使用
    array1
    并从
    array2
    获取相关的
    info
    数据,方法是:

    常量数组1=[
    {u id:'5c6c7132f9bf4bdab9c906ff',用户:'5c65d9438e4a834c8e85dd7d'},
    {u id:'5c6ccd6d3a0dc4e4951c2bee',用户:'5c65d9438e4a834c8e85dd7e'}
    ];
    常数数组2=[
    {
    _id:'5c65d9438e4a834c8e85dd7d',
    信息:{姓名:'约翰',城市:'纽约'}
    },
    {
    _id:'5c65d9438e4a834c8e85dd7e',
    信息:{name:'Paneer',city:'sanfran'}
    }
    ];
    让merged=array1.map(
    o=>({…o,info:array2.find({{u id})=>{u id==o.user.info})
    );
    console.log(合并)
    
    .as控制台{背景色:黑色!重要;颜色:石灰;}
    .作为控制台包装{最大高度:100%!重要;顶部:0;}
    array1 = [ { _id: 5c6c7132f9bf4bdab9c906ff,
        user: 5c65d9438e4a834c8e85dd7d },
      { _id: 5c6ccd6d3a0dc4e4951c2bee,
        user: 5c65d9438e4a834c8e85dd7e } ]
    
    array2 = users [ { _id: 5c65d9438e4a834c8e85dd7d,
        info: { name: 'John', city: 'New York' } },
      { _id: 5c65d9438e4a834c8e85dd7e,
        info: { name: 'Paneer', city: 'San Fran' } } ]
    
    mergedArray = [ { _id: 5c6c7132f9bf4bdab9c906ff,
        user: 5c65d9438e4a834c8e85dd7d,
        info: { name: 'John', city: 'New York' } } ,
      { _id: 5c6ccd6d3a0dc4e4951c2bee,
        user: 5c65d9438e4a834c8e85dd7e, 
        info: { name: 'Paneer', city: 'San Fran' } } ]