重复键错误索引Mongoose

时间:2015-04-20 10:42:22

标签: node.js mongodb express mongoose mean-stack

我试图简单地创建带有空数组的多个对象。不幸的是,当我想要创建多个这样的元素时,会出现错误消息。

这是我的对象架构:

var groupSchema = mongoose.Schema({
id: mongoose.Schema.ObjectId,
name: { type: String, required: true },
section: { type: mongoose.Schema.ObjectId, ref:"Section", childPath:"groups" },
users: [ {type : mongoose.Schema.ObjectId, ref : 'User', childPath: "groups"} ],
invitations: [{
    _id:false,
    email: { type: String, required: true },
    isRegistered: { type: Boolean, required: true }
}],

});

简单的创建功能:

//Create new group
exports.createGroup = function(req, res){
Group.create(req.body, function(err, group){
    if(err){
        console.log(err);
        res.json(err);
        return false;
    }
    res.json({status: true, group: group});
    return true;
});
};

错误消息:

{ [MongoError: insertDocument :: caused by :: 11000 E11000 duplicate key error index: skaud_up.groups.$invitations.email_1  dup key: { : null }]
name: 'MongoError',
code: 11000,
err: 'insertDocument :: caused by :: 11000 E11000 duplicate key error index: skaud_up.groups.$invitations.email_1  dup key: { : null }' }

老实说,我不知道为什么我不能在mnogoDB数据库中使用空数组的多个元素。

有人可以解释一下问题的原因是什么,使用这种对象的正确方法是什么?

0 个答案:

没有答案