我有一个MEAN应用程序,我允许用户上传包含多个Event行的CSV . 赞美CSV后我有一个Event对象列表,我可以使用mongoose insertMany插入记录 . 我有一个像这样的事件和参与者模式(针对此问题进行了简化) .
var EventSchema = new mongoose.Schema({
name: String,
date: Date,
location: String,
speaker: { type: ObjectId, ref: 'Attendee' },
});
var AttendeeSchema = new mongoose.Schema({
firstname: String,
email: {type: String, unique : true},
speaker: Boolean,
});
我的问题是,当用户上传CSV时,他们只知道发言人的电子邮件地址,而不知道ObjectId . 此电子邮件始终是唯一的 . 在执行Event.insertMany()时,有一种方法可以在电子邮件上执行Attendee.findOne,并在插入每个事件时使用ObjectId ref将参与者填充到参与者 .
1 回答
我认为你必须按顺序进行: