 
      
    Mongoose
    2
    Вклад в тег
    
      
      
    
  
  
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);
});