我在 mongo 中有一個陣列串列,我需要做的是在陣列串列中推送 Id 并檢查 Id 是否存在然后它不會推送
現在我這樣推
const eventUserGoing = async (req, res) => {
try {
const updateuserGoinginEvent = await Events.findByIdAndUpdate(
req.body.eventid,
{
$push: {
userGoing: req.user.user_id,
},
},
{
new: true,
}
);
res
.status(200)
.json({
success: true,
message: 'Event saved successfully',
data: updateuserGoinginEvent,
});
} catch (err) {}
};
我認為如果它可能通過聚合但沒有得到最好的方法。
uj5u.com熱心網友回復:
findOneAndUpdate如果事件_id尚未包含用戶,請嘗試使用。
如果是這種情況,$push新用戶:
const eventUserGoing = async (req, res) => {
try {
const updateuserGoinginEvent = await Events.findOneAndUpdate(
{ _id: req.body.eventid, userGoing: { $ne: req.user.user_id } },
{
$push: {
userGoing: req.user.user_id,
},
},
{
new: true,
}
);
res.status(200).json({
success: true,
message: 'Event saved successfully',
data: updateuserGoinginEvent,
});
} catch (err) {}
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526315.html
