我试图简单地创建带有空数组的多个对象。不幸的是,当我想要创建多个这样的元素时,会出现错误消息。
这是我的对象架构:
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数据库中使用空数组的多个元素。
有人可以解释一下问题的原因是什么,使用这种对象的正确方法是什么?