Мне нужно знать, как передать строку из одной коллекции в другую?У меня есть модель, которая выглядит следующим образом.
const enrichedEventSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
projectId: { type: mongoose.Schema.Types.ObjectId, ref: 'Project', required: true },
name: { type: String, required: true },
address: { type: String, required: true }
});
Теперь моя потребность изменилась, вместо projectId
Мне нужно обратиться к projectName, которое является строкой, за последние 5 часов, я попробовал все эти возможные методы, это не работает, кто-тоНаправь меня в правильном направлении.
const enrichedEventSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
projectName: { type: String, ref: 'Project', required: true },
name: { type: String, required: true },
address: { type: String, required: true }
});
и я тоже попробовал эту строку,
projectName: { type: mongoose.Schema.Types.String, ref: 'Project', required: true }
Ну, я пытаюсь ответить на этот вопрос:
router.post("/", (req, res, next) => {
Project.findOneAndUpdate({projectName:projectName},
{ $push: { enrichedEvents: enrichedEventId}},
function (error, success) {
if (error) {
console.log(error);
} else {
console.log(success);
}
});
const enrichedEvent = new EnrichedEvent({
_id: mongoose.Types.ObjectId(),
name: req.body.name,
projectName: req.body.projectName,
});
return enrichedEvent.save()
.then(result => {
console.log(result);
res.status(201).json({
message: "Event stored",
createdEvent: {
_id: result._id,
project: result.project,
name: result.name,
},
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});