Node.js 无效的“路径”。必须是字符串或数组mongoose
我正在使用node.js和mongoose编写代码,我在发布材料时遇到了麻烦,其中材料是我的实体 以下是模式:Node.js 无效的“路径”。必须是字符串或数组mongoose,node.js,mongodb,Node.js,Mongodb,我正在使用node.js和mongoose编写代码,我在发布材料时遇到了麻烦,其中材料是我的实体 以下是模式: new Schema({ title: { type: String, trim: true, set: util.ucfirst, required: true }, descripti
new Schema({
title: {
type: String,
trim: true,
set: util.ucfirst,
required: true
},
description: {
type: String,
required: true,
trim: true
},
downloads:{
type: Array,
default: [],
required: true
},
course_id: {
type: String,
required: false
},
_status: {
required: false,
default: true,
type: Boolean,
select: false
},
created_by:{
type: String
},
created_at:{
type: Date,
default: Date.now
},
modified_by:{
type: String
},
modified_at:{
type: Date,
default: Date.now
}
},
{
collection: collection,
versionKey: true,
strict: true
})
现在使用这个数据,我发布了接受2个字符串和1个或多个文件数据的示例数据
以下是post api调用:
exports.post('/', function(req,res,next){
var _error = req.mydata.get('error');
if( !_error ){
var _object = req.mydata.get('data') || {},
_files = req.mydata.get('files');
_object.downloads = (_files && Array.isArray(_files['upload'])) ? _files['upload'] : (_files && typeof _files['upload'] == "object") ? [_files['upload']] : [];
model.insert(_module, _object, function(err, entry){
if( !err && entry ){
res.status(200).json(entry);
res.end();
}else{
next();
}
});
}else{
next(_error);
}
});
但我收到的是以下输出,这是不期望的。
我刚刚遇到了同样的问题。您不能将versionKey设置为true,Mongoose认为这是版本密钥的新名称,应该是字符串。只要省略versionKey参数,就可以了 我已经为此打开了一个问题: