Как я могу добавить больше коллекций в эту модель? - PullRequest
0 голосов
/ 05 мая 2020

Мне нужно добавить еще одну коллекцию, чтобы выполнять простые операции CRUD, а также при необходимости добавить другие коллекции.

const mongoose = require('mongoose');

const schema = mongoose.Schema({
title: String,
description: String,
published: Boolean
},
{
collection: 'Tutorials',

timestamps: true

});
//If you use this app with a front-end that needs id field instead of _id,
// you have to override toJSON method that map default object to a custom object
schema.method("toJSON", function() {
const { __v, _id, ...object } = this.toObject();
object.id = _id;
return object;
});



module.exports = mongoose.model('Tutorial', schema);

1 Ответ

0 голосов
/ 07 мая 2020

Теперь, понимая, что ваш вопрос на самом деле заключается в том, чтобы спросить, как вы можете использовать 1 схему для нескольких коллекций, вы можете попробовать следующее:

Если ваша схема выглядит следующим образом:

const schema = mongoose.Schema({
    title: String,
    description: String,
    published: Boolean,
    timestamps: true
});

Вы можете затем измените свой экспорт (внизу вашей модели), чтобы он выглядел так:

var tutorials = mongoose.model('Tutorials', schema);
var users = mongoose.model('Users', schema);
var products = mongoose.model('Products', schema);
module.exports = {
    tutorials : tutorials,
    users : users, 
    products: products
} 

Выше вы можете добавить то, что вам нравится.

Затем, когда дело доходит до доступ к каждому из них по отдельности, вы можете импортировать их следующим образом:

var tutorials = require('../models/schema').tutorials;
var users = require('../models/schema').users;
...
...