Доброго времени суток, у меня не получается из owner извлечь name в переменную, а потом вывести переменную в консоль.
Модель:
const { Schema, model } = require('mongoose');
const scheduleSchema = new Schema({
owner: {
name: {
type: String,
required: true
},
password: String
},
schedule: [{
dow: {
type: String,
required: true
},
lessons: [{
start: String,
name: String
}]
}]
});
module.exports = model('Schedule', scheduleSchema);
Код который по моему мнению должен выводить имена в консоль, но в итоге выводит пустой массив, хотя данные в mongodb есть, и они функционируют успешно при регистрации пользователя:
var express = require("express");
var router = express.Router();
var Schedule = require("../models/schedule");
router.post("/", async function(req, res, next) {
const isPasswordConfirmed = req.body.password === req.body.password_repeat;
if (req.body.username && isPasswordConfirmed) {
var info = await Schedule.find({ "owner.name": [] }); // <--- ВОТ В ЭТОЙ ШТУКЕ ВСЯ МОЯ ПРОБЛЕМА
console.log(info)
// Schedule.find([['owner.name']])
// // .sort([
// // ['owner.name']
// // ])
// .exec(function(err, list_name) {
// if (err) { return next(err); }
// console.log(list_name);
// })
const newUser = new Schedule({
owner: {
name: req.body.username,
password: req.body.password
}
});
await newUser.save();
res.redirect(`/user/${newUser.owner.name}`);
} else {
console.log('Отсечка')
}
res.render("register", { error: { message: "Пароли не совпадают" } });
});
router.get("/", function(req, res, next) {
res.render("register");
});
module.exports = router;