我正在使用MEANJS创建一个应用程序。我有一个定义如下的mongoose模式:
var UserdetailSchema = new Schema({
fullName: {
type: String,
trim: true
},
userName: {
type: String,
trim: true
},
mobile: {
type: String,
default: '',
trim: true
},
address: {
type: String,
trim: true
},
suburb: {
type: String
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Userdetail', UserdetailSchema);我试图实现的是后,登录用户被重定向到编辑视图,以更新像“移动,郊区,地址”等信息,这是在用户详细信息模式。
这是我的控制器。我已经将默认的create()方法更改为:一旦插入的第一步完成,我将重定向到edit it。
// Create new Userdetail for current user
function create(FullName,UserName) {
// Create new Userdetail object
var userdetail = new Userdetails ({
fullName: FullName,
userName: UserName
});
// Redirect after save
userdetail.$save(function(response) {
$location.path('userdetails/' + response._id+'/edit');
console.log(response._id);
// Clear form fields
//$scope.name = '';
}, function(errorResponse) {
console.log(errorResponse.data.message);
$scope.error = errorResponse.data.message;
});
};要创建用户详细信息,我只需插入fullName和userName作为第一步,并在稍后更新它。
问题是,它只允许我插入1个用户详细信息,如果我尝试插入另一个用户的另一个用户详细信息。尽管模式中没有名称,但它给出了一个错误“名称已存在”。
用于创建用户详细信息的服务器端代码
/**
* Create a Userdetail
*/
exports.create = function(req, res) {
var userdetail = new Userdetail(req.body);
userdetail.user = req.user;
userdetail.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(userdetail);
}
});
};

发布于 2015-08-04 11:28:57
在从shell中删除我的集合"userdetails“并再次尝试插入后,我让它正常工作。我点击了这个链接Mongodb- Add unique index on an existing collection。这更多的是MongoDB的问题。
https://stackoverflow.com/questions/31798983
复制相似问题