我正在尝试更新一个猫鼬的文档,但是它是一个嵌套很深的对象数组,使用扩展运算符无法更新它。我有一个图像链接数组,我想遍历数据库中的关系数组并将图像添加到每个关系中。该代码显示了我的方法,但是语法错误。我添加了一个数据库图像,该图像显示了我想在其中添加图像变量的位置。
// Get Images
const imagesData = await axios.get(
"https://randomuser.me/api/?results=4&gender=male"
);
const images = [];
imagesData.data.results.forEach((result) => {
images.push(result.picture.large);
});
// Update Company
for (let i = 0; i <= 3; i++) {
const updateCompany = await Companies.findByIdAndUpdate(
req.params.id,
{ relationships: [
...relationships,
relationships[i]: {
...relationships[i],
image: images[i]}
] },
{ new: true }
).exec();
}
我也在for循环中使用猫鼬查询。这是正确的方法吗? mognoDB
答案 0 :(得分:0)
您应该获取所需的文档。然后将获取的对象视为javascript对象,并添加或更新所需内容,然后使用猫鼬提供的.save()
函数。
let result = await Companies.findById(id);
result = result.map((company)=>{
update your object here
})
result.save()
.save()
函数将负责更新数据库中的对象