Здесь я просто хочу вставить данные в мою базу данных mon go, но добавление ссылочного ключа может помочь мне.
const mongoose = require('mongoose');
const questionSchema = new mongoose.Schema({q:String}
);
const surveySchema = new mongoose.Schema({
survey:[questionSchema]
});
const CompetitionSchema = new mongoose.Schema({
title:String,
description:String,
start_date:String,
end_date:String,
rules:String,
rubrics:String,
surveys:[surveySchema]
});
Мой маршрутизатор js
const Competition = mongoose.model('competition',CompetitionSchema);
module.exports = Competition;
const express = require('express');
let Competition = require('../../models/Competition');
const router = express.Router();
router.post('/', async (req,res) => {
try{
const cmp = new Competition({
title:req.body.title,
description:req.body.description,
start_date:req.body.start_date,
end_date:req.body.end_date,
rules:req.body.rules,
rubrics:req.body.rubrics,
surveys:[{survey:[{q:req.body.q}]}]
});
await cmp.save();
const competitionDB = await Competition.find();
res.send(competitionDB);
}catch(err){
res.status(500).send('server error');
}
});
module.exports = router;
Вот мои вставленные данные go, они показывают мне идентификатор объекта, я хочу вставить фактические данные. я не могу сослаться на этот идентификатор объекта.
{"_id":{"$oid":"5e3f8ce2777e654f2c815b31"},
"title":"competition1",
"description":"description1","start_date":"2020-02-12","end_date":"2020-03-12",
"rules":"abcd.pdf",
"rubrics":"rubricspdf",
"surveys":
[{
"_id":
{"$oid":"5e3f8ce2777e654f2c815b32"},
"survey":
[{"_id":
{"$oid":"5e3f8ce2777e654f2c815b33"}}]}],
"__v":{"$numberInt":"0"}}
Необходимый результат:
{"_id":{"$oid":"5e3c6fd71c9d440000f792b8"},
"title":"competition1",
"description":"description1",
"start_date":"2020-02-12",
"end_date":"2020-03-12",
"rules":"abcd.pdf",
"rubrics":"rubricspdf",
"surveys":{
"survey1":{
"q1":"what is future of your project?",
"q2":"whats unique in your project"}}}
этот тип результата, который я хочу получить, я не знаю, что я делаю неправильно.