0
我想使用Mongoose和Express将值添加到数组中。ValidationError:强制转换为ObjectID
router.put('/projectUser/:id', function(req, res) {
return ProjectProfile.findById(req.params.id, function(err, project) {
project.users.push(req.body.user);
return project.save(function(err) {
if(!err) {
console.log('Project Users updated');
return res.send(project);
} else {
console.log(err);
return res.send('ERROR');
}
});
});
});
当我这样做,我收到以下错误
{ [ValidationError: Project validation failed]
message: 'Project validation failed',
name: 'ValidationError',
errors:
{ 'users.-1._id':
{ [CastError: Cast to ObjectID failed for value "EXAMPLE-STRING" at path "_id"]
message: 'Cast to ObjectID failed for value "EXAMPLE-STRING" at path "_id"',
name: 'CastError',
kind: 'ObjectID',
value: 'EXAMPLE-STRING',
path: '_id' } } }
项目架构
var ProjectProfileSchema = new mongoose.Schema({
projectName: String,
productName: String,
users: [{user:'string'}]
});
的值例子字符串是一个标准的字符串。它需要一个Mongoose _id吗?
我没有在我的问题有足够的细节。我应该推动一个对象而不是一个字符串。 – wtmcm