Jeg tror, at det, du henviser til som JSON, faktisk er et Mongoose-dokumentobjekt givet de tags, du tilføjede til dit spørgsmål. Da det objekt er knyttet til dets "skema", kan du have regler derinde, såsom et "påkrævet" felt eller sådan noget, der forstyrrer den handling, du forsøger at udføre.
For at få en rå form af objektet tilbage, skal du blot bruge .toObject()
metode på dokumentresultatet:
Model.findOne({ _id: id}, function(err,doc) {
var raw = doc.toObject();
delete raw.element;
console.log( raw );
});
Du kan selvfølgelig altid bare udelade feltet fra at blive returneret i forespørgselsresultatet med den grundlæggende formular fra .select()
:
Model.findOne({ _id: id}, '-element', function(err,doc) {
console.log( doc );
});
Begge former ville fjerne det pågældende felt fra svaret, men hvis du muligvis ønsker mere kontrol over resultatet, end hvad der kan gives af feltprojektionen fra .select()
brug derefter .toObject()
form og manipuler bare som et almindeligt JavaScript-objekt.