Обновить объект в массиве с помощью findOneAndUpdate в узле js - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть эти данные в mongodb, и я хочу обновить их одним запросом:

{ 
"_id" : ObjectId("zzzzz6e57fss8ssb9cssbsss"), 
"user" : "zzzz", 
"data" : [
    {
        "_id" : ObjectId("zzzzz6e57ffe8b2b9c77b6b9"),  
        "me" : "LLL"
    }, 
    {
        "_id" : ObjectId("5b8ab719406d7235240f4338"), 
        "me" : "III"
    }
]
"__v" : NumberInt(0)
}

и я хочу изменить 'me': 'III' на findOneAndUpdate Этот код не работал.

var ObjectID = require('mongodb').ObjectID;
var o_id = new ObjectID("5b8ab719406d7235240f4338");
array.findOneAndUpdate
(
    { 'data._id' : o_id    },
    {  $set:{'me' : "Stackoverflow"    }   }, 
    function (error, success) 
    {
        if (error) console.log(error);
        if(success == null )
            console.log("nullllllllllllllllllllllll");
        console.log(success);
    }
);

1 Ответ

0 голосов
/ 02 сентября 2018
var ObjectID = require('mongodb').ObjectID;
var o_id = new ObjectID("5b8ab719406d7235240f4338");
array.findOneAndUpdate
(
    { 'data._id' : o_id    },
    {  $set:{'data.$.fr' : "Stackoverflow"    }   }, 
    function (error, success) 
    {
        if (error) console.log(error);
        if(success == null )
            console.log("nullllllllllllllllllllllll");
        console.log(success);
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...