Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (9)
  • Как в mongoose сделать свойство-ссылку на существующую коллекцию?

    @aivazovski Автор вопроса
    Разобрался. Надеюсь ответ кому то поможет.
    Дока вот тут

    Вот код с пояснениями:
    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);
    });
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (13)