MeanJS MongoDb插入问题

时间:2015-08-04 00:45:05

标签: node.js mongodb mean-stack

我正在使用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()方法更改为以下内容:插入的第一步完成后,我将重定向到编辑它。

// 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个userdetails,如果我尝试插入另一个用户的另一个用户详细信息。虽然模式中没有名称,但它会给出“名称已存在”错误。

用于创建用户详细信息的服务器端代码

/**
 * 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);
        }
    });
};

enter image description here

1 个答案:

答案 0 :(得分:0)

我从shell中删除了我的集合“userdetails”并再次尝试插入后,我得到了它。我点了这个链接Mongodb- Add unique index on an existing collection。这更像是MongoDB问题。