const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// подключение
mongoose.connect("******", { useNewUrlParser: true });
//создаём схему и модель для вложенной колекции.
const userScheme = new Schema({
name: String,
age: Number
});
const User = mongoose.model("User", userScheme);
//создаём схему и модель для основной колекции.
const taskScheme = new Schema({
user: [{ type: Schema.Types.ObjectId, ref: 'User' }], //свойство-ссылка на МОДЕЛЬ дочерней коллекции
text: String
});
const Task = mongoose.model("Task", taskScheme);
//вот так выглядит создание документа со ссылкой на документ из другой коллекции
const task = new Task({
user: mongoose.Types.ObjectId("5c17505032389130da703ab0"), //_id документа user который нам нужен.
text: "Task Text Example",
});
task.
save(function(err){
mongoose.disconnect(); // отключение от базы данных
if(err) return console.log(err);
console.log("Сохранен объект", task);
});
//вот так посиск с подзапросом содаржимого дочернего элемента.
Task.
findById("5c17538f570dc7339c732b3b").
populate('user').
exec(function (err, docs) {
console.log(docs);
});
...
<body>
<div id="app">
...
</div>
</body>
...
<div id="page">
...
</div>
...
<div class="header"><div class="header__wrapper"></div></div>
. Но это все на Ваше усмотрение. const id = arr[0] && arr[0].id;
const first = arr[0] || {}; // const [ first = {} ] = arr;
const { id, name } = first;
const first = arr[0];
if (!first) return null;
const { id, name } = first;