javascript - Mongoose CastError 更新时
问题描述
我有一个模型 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 failed for value "1" at 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;
});
})
解决方案
推荐阅读
- python - 在 Python 中运行代码时避免 Excel 中的弹出窗口
- javascript - 具有 matchMedia 函数 Vue.js 的计算属性
- ios - 如何在 app 和 Bundle 中使用相同的类?
- java - 如何为 Apache POI 访问存储在 Sharepoint 上的 .xlsx 文件(通过身份验证)?
- ios - 如何将自定义标记从服务器添加到谷歌地图?迅速
- python - 如何在不使用排序功能的情况下查找列表中的元素是升序还是降序?
- laravel - PHP 致命错误:在第 100 行的 /home/e/eraser/domains/domain.com/app/Http/Controllers/Auth/RegisterController.php 中找不到类 'App\\User'
- python - 列 dtype 对 to_csv() 性能有多大影响?
- python - 如何为 MNIST 数据集使用增加维度?
- flutter - Flutter:使容器在堆栈中占据其他容器大小