私はMEANアプリケーションを持っており、複数のイベント行を含むCSVをアップロードできるようにしています。 CSVを賞賛した後、イベントオブジェクトのリストがあり、mongoose insertManyを使用してレコードを挿入できます。私はこのようなイベントと出席者のスキーマを持っています(この質問では簡略化されています)。人口に対するルックアップが可能なマングース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()を実行すると、EメールでAttendee.findOneを実行し、挿入されたときに各イベントの出席者にObjectId refでスピーカーフィールドを移入する方法があります。
こんにちは。なぜあなたはそれを逐次実行したくないのですか?まずAttendeeオブジェクトを準備し、Event.insertMany()を実行しますか? – Sergaros
私はmongoose(mongo)の専門家ではありません。これは直接的な答えではありませんが、最初にAttendeeSchemaに対して質問してスピーカーを取得し、それを挿入に使用することで達成できます。 – someUser