[英]Remove Object from array in Mongoose
刪除 Array 中的 Object 時遇到此問題。 我似乎不明白使用 $pull 刪除項目的正確方法是什么。 提前致謝!
JSON 數據
"accountId": "62efd8c008f424af397b415d",
"links": [
{
"url": "www.github.com/iluvkohii",
"title": "GitHub"
},
{
"url": "www.github.com/iluvkohii",
"title": "GitHub"
},
{
"url": "www.github.com/iluvkohii",
"title": "GitHub",
"_id": "62efe1ee4675d0baa10bd219"
},
{
"url": "www.github.com/iluvkohii",
"title": "GitHub",
"linkId": "62efe4e142099faeeb5999d0"
}
]
代碼
try {
const { accountId, _id } = req.body;
return Profile.findOneAndUpdate(
{ accountId },
{ $pull: { links: { _id } } },
{ new: true, }
)
.then((value) => res.status(200).json(value))
.catch((err) => res.status(400).json(err.errors));
} catch (error) {
console.error(error);
}
一天后我剛剛解決了我自己的問題,意識到一個普通的字符串不等於 Mongoose ObjectId
try {
const { accountId, _id } = req.body;
return Profile.findOneAndUpdate(
{ accountId },
{ $pull: { links: { id: mongoose.Types.ObjectId(_id) } } },
{ new: true },
)
.then((value) => res.status(200).json(value))
.catch((err) => res.status(400).json(err.errors));
} catch (error) {
console.error(error);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.