Node.js Mongoose, как сохранить новый документ и добавить новое значение в поле массива

У меня есть модель User, и каждый документ user имеет поле name, которое является String, и поле friends, которое представляет собой array целых чисел, которые содержат id's других пользователей, с которыми этот пользователь дружит.

Всякий раз, когда я хочу создать новый пользовательский документ с одним идентификатором, который уже находится в массиве друзей, мне нужно выполнить три шага: 1. создать нового пользователя с определенным именем; 2. сохранить этого пользователя; 3. обновить поле друзей этого пользователя, добавив новый идентификатор друга в массив.

Мне было интересно, есть ли другой, более эффективный способ достижения того же результата. Вот мой код:

var User = mongoose.model('User',{
    friends:  {
        type: [Number],
        required: false      
    },
    name: String
});

            //cretae new user document
            var user = new User ({
                name: name
            });

            user.save(function(err){
                if(err){
                    console.log("something went wrog, read below");
                    console.log(err);
                }else{
                    User.update({'name': name}, {
                        $addToSet: { 'friends': newFriendId}
                    },function(err, count) {
                        if(err){
                            console.log(err);
                        }else{
                            console.log(count);
                        } 
                    }); 
                }
            });

person Nikolaj    schedule 05.04.2017    source источник
comment
Почему вы используете обновление сразу после сохранения пользователя?   -  person Love-Kesh    schedule 05.04.2017