![](/img/trans.png)
[英]Mongoose findOneAndUpdate return only the newly $push document
[英]mongoose use findOneAndUpdate and only return the updated element in array
我有以下問題:
let post = await User.findOneAndUpdate(
{ _id: USER_ID },
{
$push: {
posts: {
title,
content,
userId: USER_ID,
titleUrl,
thumbnail: {
webp: WEBP_PATH,
jpeg: JPEG_PATH,
placeholder: PLACEHOLDER
}
}
}
},
{ new: true }
);
這個查詢幾乎可以正常工作。 問題是每當我將一個項目推送到數組時,我都想取回更新的元素。 不幸的是,我得到了包含數組中所有帖子的整個文檔。 當然我可以做類似posts.slice(-1)
的事情,但我認為如果我只需要1個元素,那么加載所有內容的效率非常低,不是嗎?
有人知道如何獲得新添加的 object?
不幸的是findOneAndUpdate
沒有選項
您可以使用findOneAndUpdate
對原始文檔進行projection
,但不能對更新的文檔進行投影
我認為沒有簡單有效的方法可以做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.