/ / Mongoose - постоянно "виртуално" поле? - node.js, модел, мангоуза, виртуална

Mongoose - постоянно "виртуално" поле? - node.js, модел, мангоуза, виртуална

Добре, имам възел като backend, има следния модел Mongoose:

var SomeSchema = new Schema({
name: {type: String, required: true},
iplanned: {type: String, default:60}
});

SomeSchema.virtual("planned")
.get(function () {
return parseInt(this.iplanned / 60, 10) + " mins";
})
.set(function (val) {
this.iplanned = parseInt(val, 10) * 60;
});

someModel = mongoose.model("Some", SomeSchema);

Досега е добре, от страна на node.js на неща, които мога да работя със записите и достъп до това planned както обичам.

Следното е прост отговор, за да служи на този списък чрез http:

exports.list = function (req, res) {
someModel.find(function (err, deeds) {
return res.send(deeds);
});
});

И тук е проблемът - виртуалното поле planned не е включен във всеки запис (добре, разбира се, нещо като). Има ли начин да се инжектира по някакъв начин моето виртуално поле на всеки запис? Или трябва да направя virtual конверсия на предния край също? (Да, знам, че там има Meteor.js, опитвайки се да отиде без нея тук).

Отговори:

0 за отговор № 1

Във вашата схема трябва да предефинирате toJSON () метод:

SomeSchema.methods.toJSON = function () {
var obj = this.toObject();
obj.planned = this.planned;
return obj;
};