[英]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.