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

skubbe objekt ind i array-skema i Mongoose

mongoose gør dette for dig i én operation.

Contact.findByIdAndUpdate(
    info._id,
    {$push: {"messages": {title: title, msg: msg}}},
    {safe: true, upsert: true},
    function(err, model) {
        console.log(err);
    }
);

Vær venligst opmærksom på, at ved at bruge denne metode, vil du ikke være i stand til at gøre brug af skemaets "pre"-funktioner.

http://mongoosejs.com/docs/middleware.html

Fra den seneste mogoose skal findbyidandupdate have en "ny:sand" valgfri param tilføjet til sig. Ellers vil du få den gamle doc retur til dig. Derfor konverteres opdateringen til Mongoose Version 4.x.x til:

Contact.findByIdAndUpdate(
        info._id,
        {$push: {"messages": {title: title, msg: msg}}},
        {safe: true, upsert: true, new : true},
        function(err, model) {
            console.log(err);
        }
    );


  1. Meteor bruge hent eller find i skabelonhjælpefunktioner?

  2. MongoDB-opdatering med tilstand

  3. Fjern element fra indlejret array mongodb

  4. MongoDB - Svarende til LEFT JOIN, hvor en samling ikke findes