У меня есть одна модель User.js, которая определена так:
var mongoose= require('mongoose'),
Schema = mongoose.Schema,
UserSchema = new Schema({
name: String,
activeConnections: [{type: Schema.Types.ObjectId, ref: 'Room'}]
});
module.exports = mongoose.model('User', UserSchema);
Ссылка на номер относится к другой модели в другом файле Room.js, но я не думаю, что это необходимо здесь.
Моя проблема в том, что когда я пытаюсь обновить activeConnections, у меня возникает CastError, который говорит: сбой приведения к ObjectId для значения «1» в пути activeConnection.
Обратите внимание, что в данный момент я 'я делаю обновление, activeConnections должен быть пустым массивом.
Так может ли кто-нибудь помочь мне решить эту проблему?
ОБНОВЛЕНИЕ:
Операция обновления происходит вследующий контроллер
var User = require('../models/User');
User.findById(#validObjectId).exec(function(err, result) {
var array = [#validObjectId, #validObjectId];
var activeConnections = result.activeConnections.push(activeConnections);
User.findByIdAndUpdate(#validObjectId, {'activeConnections': activeConnections}).exec(function(err, user) {
if(err) return console.log(err);
else
//do something;
});
})