如何在猫鼬模型中添加派生字段
How to add derived fields in mongoose model
我有模型
var OrderSchema = new Schema({
created: {
type : Date,
default: Date.now
}
}):
我想在检索到此文档时添加一个字段 number_of_days_open 字段。我尝试使用虚拟字段
OrderSchema
.virtual('number_of_days_open')
.get(function () {
return moment(this.created).fromNow();
});
但是当我收到
的订单时
exports.read = function(req, res) {
res.json(req.order);
};
exports.orderByID = function(req, res, next, id) {
Order.findById(id).exec(function(err, order) {
req.order = order;
next();
});
};
我没有得到字段 number_of_days_open。当我这样做时我也没有得到该字段
exports.list = function(req, res) {
Order.find().sort('-created').exec(function(err, orders) {
if (!err) res.json(orders);
});
};
您需要设置架构的 toObject or toJSON 属性。
OrderSchema.set('toObject', { virtuals: true }) // console.log() statements would
// print the virtual fields.
OrderSchema.set('toJSON', { virtuals: true }); //virtual fields are visible when
//the mongodb
//document is converted into a
//javascript object
//internally or explicitly.
我有模型
var OrderSchema = new Schema({
created: {
type : Date,
default: Date.now
}
}):
我想在检索到此文档时添加一个字段 number_of_days_open 字段。我尝试使用虚拟字段
OrderSchema
.virtual('number_of_days_open')
.get(function () {
return moment(this.created).fromNow();
});
但是当我收到
的订单时exports.read = function(req, res) {
res.json(req.order);
};
exports.orderByID = function(req, res, next, id) {
Order.findById(id).exec(function(err, order) {
req.order = order;
next();
});
};
我没有得到字段 number_of_days_open。当我这样做时我也没有得到该字段
exports.list = function(req, res) {
Order.find().sort('-created').exec(function(err, orders) {
if (!err) res.json(orders);
});
};
您需要设置架构的 toObject or toJSON 属性。
OrderSchema.set('toObject', { virtuals: true }) // console.log() statements would
// print the virtual fields.
OrderSchema.set('toJSON', { virtuals: true }); //virtual fields are visible when
//the mongodb
//document is converted into a
//javascript object
//internally or explicitly.