MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Węzeł, Mongoose:Usuń element json z wyniku zapytania za pomocą polecenia delete

Myślę, że to, co nazywasz JSON, jest w rzeczywistości obiektem dokumentu Mongoose, biorąc pod uwagę tagi dodane do pytania. Ponieważ ten obiekt jest dołączony do swojego „schematu”, możesz mieć tam reguły, takie jak pole „wymagane” lub takie, które zakłócają operację, którą próbujesz wykonać.

Aby odzyskać surową formę obiektu, po prostu użyj .toObject() metoda na wyniku dokumentu:

Model.findOne({ _id: id}, function(err,doc) {

    var raw = doc.toObject();
    delete raw.element;

    console.log( raw );

});

Oczywiście zawsze możesz po prostu pominąć zwracane pole w wyniku zapytania za pomocą podstawowego formularza dostarczonego przez .select() :

Model.findOne({ _id: id}, '-element', function(err,doc) {

    console.log( doc );

});

Każdy formularz usunie to konkretne pole z odpowiedzi, ale jeśli prawdopodobnie chcesz mieć większą kontrolę nad wynikiem niż to, co może zapewnić projekcja pola z .select() następnie użyj .toObject() formować i manipulować jak zwykły obiekt JavaScript.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytanie agregujące Mongoose zwraca więcej niż jeden rekord, podczas gdy powinno zwrócić tylko jeden

  2. Iteracja przez tablicę ciągów pobranych z MongoDB

  3. Złożone rzadkie indeksy MongoDB

  4. Określanie parametrów zapytania Mongo z kontrolera klienta (MEAN.JS)

  5. Trudności w użyciu MongoDb C# Driver's Sample()