如何使用猫鼬更新数组

时间:2019-08-16 06:55:04

标签: node.js mongodb mongoose

我想使用NodeJS上的mongoose更新Mongodb中的数组。

[1]我通过restAPI获得了一个数组,作为req.body。

 const workInform = req.body;

 console.log(workInform) 

 // [
      {name: 'hi',
       x: 120,
       y: 130,
       image: 'abc'
      },
       {name: 'bye',
       x: 20,
       y:10,
       image: 'ee'
      }
    ]


[2] mongodb中有一个供workInform使用的数据。

 { _id: '1234',
   works: [
   {name: 'hi',
    x: 120,
    y:130,
    image: 'abc'
   },
   {name: 'bye',
    x: 110,
    y:120,
    image: 'ee'
   }
  ]
 }


[3] workInform获取两个数组文件,例如名称“ hi”和“ bye”。
    但是“再见”仅被更新。因此,即使我放置了每个数组数据,我也只想自动更新更改的数据。


    ps)仅x,y更改不了所有数据。例如,图像值相同。
    首先,通过使用查询来查找取决于'userID'。
    其次,使用$ push查询猫鼬来推送workInform。

User.findOneAndUpdate(
      { uid: req.query.id },
      { $push: { works: workInform } },
      {
        upsert: true,
        new: true,
      },
    );

但是更新执行得不好。你能给我一些建议吗?感谢您阅读我的问题。

0 个答案:

没有答案
相关问题