gpt4 book ai didi

javascript - 如何在javascript中检索数组内部的项目而不是数组本身

转载 作者:行者123 更新时间:2023-12-03 00:59:37 24 4
gpt4 key购买 nike

我的数据来自用户并存储为一个对象,该对象需要在服务器端进行一些处理后进入 Mongo。我正在使用 Mongoose 并使用 $push {item} 语法将项目插入到我的数据库中。

我的 Mongoose 模型有 photos: [] 作为语法,只是一个简单的数组。在该数组内部,我需要上传照片。但是,如果用户在不同时间上传,我的数组最终可能会得到一组数组,而我只需要一个包含多个对象的简单数组。

这是我的路线:

const testMedia = async (req, res) => {
//loop through the res.locals.ids and save each as their own photo in the event
let events = [];
let photosArray =
let owner = {id: req.user._id};
const promises = await res.locals.ids.map((photoLink) => {
events.push({link: photoLink.link,
dateUploaded: new Date(Date.now()).toLocaleString(),
eventID: req.body.eventId,
owner: owner
})
});
await Event.findByIdAndUpdate(
req.body.eventId,
{ $push: {
photos: events
}},
{ save: true, upsert: true, new: true },
(err) => {
if (err){
console.log("Error in testMedia || " + err);
res.sendStatus(300);
}
}
);

await Promise.all(promises);
res.render("eventDisplay", { events: event });
res.end();
};

我遇到的问题是,如果我将项目推送到事件中,当我只需要对象本身时,我将推送一组对象,因此我必须创建一个数据库调用每个对象来插入,这似乎是浪费资源,或者我需要找到一种方法来插入所有对象而不将它们包装在数组中。

出于某种原因,我无法弄清楚这一点。有任何想法吗?

最佳答案

根据 Mongo 文档,您可以使用 $each

.findByIdAndUpdate(req.body.eventId, {
$push: {
photos: { $each: events }
}
})

这会将多个项目推送到您的数组中。

关于javascript - 如何在javascript中检索数组内部的项目而不是数组本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com