[英]How return only document created after perform save() with mongoose
當我使用return await Model.save()
時,它們會返回大量數據。 有沒有辦法只返回文件?
代碼:
async (data) =>{
const charData = new MyModel({
steamId: data.steam,
phone: data.phone,
registration: data.registration,
})
return await MyModel.save()
}
我在很多網站上搜索過,但沒有找到任何使用異步函數的示例。
所以,我只想在return await MyModel.save()
時獲取 _doc object 而不是全部
Document.prototype.toObject()
將 mongoose 文檔轉換為普通的 javascript object 表示。
async (data) =>{
const charData = new MyModel({
steamId: data.steam,
phone: data.phone,
registration: data.registration,
})
await charData.save()
return charData.toObject({ getters: true })
}
請注意影響文檔表示方式的選項:
getters
應用所有 getters(路徑和虛擬 getters),默認為 false- 如果
virtuals=true
,aliases
應用所有別名,默認為 truevirtuals
應用虛擬 getters(可以覆蓋 getters 選項),默認為 falseminimize
移除空對象,默認為 truetransform
轉換 function 以在返回之前應用於生成的文檔depopulate
depopulate 任何已填充的路徑,將它們替換為原始引用,默認為 falseversionKey
是否包含版本密鑰,默認為 trueflattenMaps
將地圖轉換為 POJO。 如果你想 JSON.stringify() toObject() 的結果很有用,默認為 falseuseProjection
設置為true
以忽略本文檔投影中排除的字段。 除非您指定投影,否則這將忽略架構中具有select: false
的任何字段。
然后像這樣嘗試
let res = await Model.save();
return res._doc;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.