Как ограничить добавление документа в MongoDB по итогу проверки?

Сейчас имеющаяся конструкция почему то добавляет документ в базу по результату проверки в любом случае, срабатывает запись в базу даже если false.

Помогите разобраться пожалуйста.

++ Обработчик

chatCreate = (req, res) => {

    const chat = new Chat({
        nickname: req.body.nickname,
        message: req.body.message
    });

    chat.save()
        .then(chat => {

            Room.find({
                'room_name': {$in: req.body.room}
            }, (err, rooms) => {

                if (err) {
                    return res.send(err);
                }

                 // тут проверяем наличие записи в БД и по результату выполняем действие
                if (rooms.length !== 0) {

                  chat.room = rooms;
                  chat.save(function (err) {

                      if (err) {
                          return res.send(err);
                      }

                      let answer   = {};
                      answer.state = 'success';
                      answer.text  = 'Message post successfully!';
                      let newarray = answer.concat(chat);
                      res.send(newarray);
                  });
                } else {
                   return res.send(err);
                }
            });
        })
        .catch(err => {
            res.status(500).send(err);
        });
};

++ Модель базы хранения комнат

const mongoose = require('mongoose');
const RoomSchema = mongoose.Schema({

    room_name: String,
    created_date: { type: Date, default: Date.now }
});

module.exports = mongoose.model('Room', RoomSchema);

++ Модель базы хранения сообщений

const mongoose = require('mongoose'), Schema = mongoose.Schema;
const ChatSchema = mongoose.Schema({

    room: [{ type: Schema.Types.ObjectId, ref: 'Room' }],
    nickname: String,
    message: String,
    created_date: { type: Date, default: Date.now }
});

module.exports = mongoose.model('Chat', ChatSchema);

++ Даже если условие if (rooms.length !== 0) > false, документ в БД все равно добавляется введите сюда описание изображения


Ответы (0 шт):