mongoose - 猫鼬如何在保存时返回特定字段
问题描述
当您使用 Mongoose 保存()一个新文档时。如何选择要返回的字段?
const productV2 = new ProductV2({ _id: req.query.po_product_id });
productV2.save(function (err, product) {
if (err) {
res.status(500).json({ error: err });
} else {
console.log('product', product);
console.log(3);
res.send(product);
}
});
解决方案
干净的方法是在要返回特定字段的猫鼬实例上定义方法。
例如,如果您有这样的ProductV2
架构:
const ProductV2 = new mongoose.Schema({
name: String,
price: Number,
count: Number
})
// You can define an instance method on your schema
ProductV2.methods.getSpecificFields = function() {
// For example you want to retrieve only name and price fields
return {
name: this.name,
price: this.price
}
}
定义后,instance method
您可以在代码中使用它:
const productV2 = new ProductV2({ _id: req.query.po_product_id });
productV2.save(function (err, product) {
if (err) {
res.status(500).json({ error: err });
} else {
console.log('product', product);
console.log(3);
res.send(product.getSpecificFields());
}
});
要了解更多信息instance methods
并statics methods
查看此信息
推荐阅读
- php - json_encode() 函数添加反斜杠
- amazon-sqs - 通过 SQS 向设备发送消息
- php - 调用未定义函数 imagettftext()
- node.js - VSTS 任务间歇性失败,退出代码 -1 从 node.exe 返回
- docker - 为archlinux创建我自己的docker镜像以及如何使用它进行开发
- mysql - 我找不到在 MySQL 上的学校数据库中实现消息的方法
- android - Android 9 在未知类中崩溃
- python - 如何根据损失精度和召回率确定过拟合模型
- json - 访问谷歌云存储上的私人数据
- python - 使用 AngularJS 和 Python Flask 处理 POST 请求和重定向