sql >> Database teknologi >  >> NoSQL >> MongoDB

Node, Mongoose:Fjern json-elementet fra forespørgselsresultatet med delete

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.




  1. 10 tips til at forbedre din MongoDB-sikkerhed

  2. Hvordan man forespørger med flere betingelser og disse betingelser er afhængige

  3. Komprimering af en hex-streng i Ruby/Rails

  4. Redistogo og Sidekiq på Heroku:Kan ikke oprette forbindelse