sql >> Databasteknik >  >> NoSQL >> MongoDB

skjuta in objekt i arrayschema i Mongoose

mongoose gör detta åt dig i en operation.

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

Tänk på att med den här metoden kommer du inte att kunna använda schemats "pre"-funktioner.

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

Från och med den senaste mogoose måste findbyidandupdate ha en "ny:sant" valfri param lagt till. Annars får du det gamla dokumentet tillbaka till dig. Därför konverteras uppdateringen för Mongoose version 4.x.x till:

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


  1. Få Redis-nycklar och värden vid kommandotolken

  2. MongoDB:Servern har startvarningar

  3. Redis serviceStack poolad anslutningsklient

  4. Konfigurera Redis på Webfaction