Рубрики
Без рубрики

Mongoose “oplulate ()” самым простым способом | Как импортировать коллекцию в другую схему в MongoDB

Всем привет, я собираюсь продемонстрировать и объяснить запутанную тему MongoDB/Mongoose, которая … Tagged с Mongodb, Mongoose, Node, JavaScript.

Всем привет, я собираюсь в Деменстрат и объясню запутанную тему Mongodb / Монгуз это “Opulate ()” функция

Постановка задачи:

Предположим, у вас есть 2 модель схемы с именем: 1 – Адрес модель 2 – пользовательская модель

Адресная модель : В этом есть 3 атрибута, т.е. PINCODE , Государство , адрес

const  mongoose = require("mongoose");
const  Schema = mongoose.Schema;

const  addressSchema = new  Schema({
    address:  String,
    state:  String,
    pincode : Number
});

const  Address= mongoose.model("address", addressSchema);
module.exports = Address;

Пользовательская модель : В этом есть 3 атрибута, т.е. имя , адрес и обозначение.

const  mongoose = require("mongoose");
const  Schema = mongoose.Schema;
const {ObjectId} = mongoose.Schema; 

const  userSchema = new  Schema({
    name:  String,
    designation:  String,
    address: {
        type :  ObjectId,
        ref :  "address"
    }
});

const  User = mongoose.model("user", userSchema);
module.exports = User;

Решение:

Вы видите модификацию в Пользовательская модель ? Добавление:

address: {
        type :  ObjectId,
        ref :  "address"
    }

вносит все изменения здесь.

Мы здесь не делаем запись в Пользовательская модель S адрес раздел но Вместо этого используя адрес модель для хранения данных и использует его __id _ в Пользовательская модель Анкет

И на момент извлечения данных из Пользовательская модель мы будем Заполнять адрес атрибут из Адресная модель Анкет

Что такое идентификатор объекта?

const {ObjectId} = mongoose.Schema; 

а также

type :  ObjectId,

ObjectId это один из Типы данных Монгуза, который говорит мангузе, что это ссылается к другому Коллекция в База данных MongoDB .

После Импорт , он используется вместе с ref Анкет

Что такое реф?

Теперь, ObjectId используется вместе с ref Анкет Ref рассказывает Монгуз что, в котором Коллекция Данные импорта раны настоящий Анкет В нашем случае это Адресная модель _, который импортируется и используется в Пользовательская модель Анкет Так,

address: {
        type :  ObjectId,
        ref :  "address"
    }

Примечание : значение в ref так же, как

const  Address= mongoose.model("address", addressSchema);

в Адресная модель _.

Наконец с использованием opulate ()

Итак, теперь пришло время получить данные из Пользовательская модель и на момент извлечения, заполняя адрес Атрибут Пользовательская модель с данными из Адресная модель Анкет

Предположим, __id _ данных в Адресная модель это 100 . Итак, в Время входа данные в Пользовательская модель , пройти __id _ т.е. 100 к Атрибут адреса из Пользовательская модель Анкет

User.find({}).populate("address").exec((err, result) => {
    if(err){
        return  res.json({error :  err})
    }
    res.json({result :  result})
    });

.populate (“адрес”) заполнит данные, поступающие с User.find ({}) и найти __id _ Присутствует в (в нашем случае __id _ IS 100), и обнаружите это в Адресная модель и возьмите эти данные и заполните в Пользовательская модель Анкет

Благодарю вас

Спасибо за то, что вы были терпеливы и читали до последнего, надеюсь, вы найдете это полезным. 🙂🙂🙂

Мой портфолио : https://anujportfolio.herokuapp.com/ Мой GitHub : https://github.com/singhanuj620 Мой LinkedIn : https://www.linkedin.com/in/anuj-singh-007/

Обратная связь всегда приветствуется. 🤗 🤗

Оригинал: “https://dev.to/singhanuj620/mongoose-populate-in-most-simple-way-how-to-import-a-collection-into-another-schema-in-mongodb-4nnf”