我有一个模型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引用是另一个文件Room.js中的另一个模型,但我认为这里没有必要。
我的问题是,当我尝试更新activeConnections时,我遇到一个CastError:Cast to ObjectId的值失败" 1"在path 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;
});
})