我想使用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,
},
);
但是更新执行得不好。你能给我一些建议吗?感谢您阅读我的问题。