sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb uppdatera det sista arrayelementet

det är väldigt enkelt. hämta det sista elementets index/position.

var data = {
"_id" : "5d648b0d5aeada5177bb54e4",
"time" : [ 
    {
        "start" : "2019/8/25 9:59:30",
        "end" : "2019/8/25 10:59:30"
    }, 
    {
        "start" : "2019/8/26 9:59:30",
        "end" : "2019/8/26 10:59:30"
    }, 
    {
        "start" : "2019/8/27 9:59:30",
        "end" : "2019/8/26 9:59:30"
    }
]
}

var len = data.time.length - 1;
var objUpdate = {};
var updateQuery = "time." + len + ".end";
objUpdate[updateQuery] = "2019/8/26 11:59:30";

db.getCollection('test').update({"_id" : ObjectId("5d648b0d5aeada5177bb54e4")}, {$set:objUpdate});


  1. Kan inte hitta modulen 'socket.io/node_modules/redis'

  2. Mongodb hämta dokument mellan datum(Lagrade som sträng i formatet 2019-05-20)

  3. MongoDb aggregeringsfråga med $group och $push till underdokument

  4. MongoDB skärpa efter datum på en enda maskin