Node.js Mongoose:将数据推送到for循环中的数组

Node.js Mongoose:将数据推送到for循环中的数组,node.js,mongodb,Node.js,Mongodb,我有一个小问题,我有以下代码: Messages.findOne({id_user: to}, function (err, toUser) { //dopisujemy wiadomość w tablicy użytkownika var messArray = toUser.messagesArray; //przeszukujemy tablice z wiadomo

我有一个小问题,我有以下代码:

Messages.findOne({id_user: to}, function (err, toUser) {

                    //dopisujemy wiadomość w tablicy użytkownika
                    var messArray = toUser.messagesArray;
                    //przeszukujemy tablice z wiadomościami aby znaleźć odpowiedniego użytkownika
                    for(var i=0;i<messArray.length; ++i) {
                        if(messArray[i].id_converser = who) {
                            // console.log(messArray[i]);
                            toUser.messagesArray[i].messages.push({id_converser: who,message: message,date: Date()});

                            toUser.save(function (err) {
                                if(err) console.log(err);
                                console.log('Wiadomość dodana');
                            })
                            return;

                        }
                    }



            }) //end zapisujemy wiadomość w miejscu przeznaczenia
Messages.findOne({id\u user:to},函数(err,toUser){
//dopisujemy wiadomośćw Tablici użytkownika
var messArray=toUser.messagesArray;
//普泽斯库杰米·维阿多莫·阿比·兹纳利·奥德波维德涅戈·尤特科夫尼卡

对于(var i=0;i为了推送到实际数据库中的数组,您需要使用运算符或类似运算符的东西,当您在JavaScript中修改对象的任何深度属性或数组属性时,您需要使用isModified方法,以便告诉Mongoose对象的属性已修改并在数据库中更新它

因此,您需要在推送功能之后执行它,如下所示:

toUser.isModified('messagesArray')