Правильный способ регистрации модели в Mongoose - PullRequest
0 голосов
/ 23 июня 2018

Я использую mongoose и express.js.Из того, что я могу понять, это рекомендуемый способ регистрации модели в app.js (import после подключения к БД с помощью mongoose):

mongoose.connect('mongodb://mongo:27017/drip')
import './models/MyModel'

Проблема в том, что это вызываетмоя проверка eslint не удалась, потому что import всегда должен быть вверху файла:

error  Import in body of module; reorder to top  import/first

Конечно, перемещение import до разрыва mongoose.connect:

MissingSchemaError: Schema hasn't been registered for model "Target".

Каков чистый, рекомендуемый способ работы с mongoose при использовании eslint стандарта JavaScript?

1 Ответ

0 голосов
/ 23 июня 2018

То, что мы хотим сделать здесь, - это зарегистрировать модель с квадратными скобками вокруг нее и убедиться, что Express и mongoose требуются в верхней части файла, прежде чем мы попытаемся установить соединение. Вот общий пример, который должен помочь вам:

const express = require('express');
const mongoose = require('mongoose');
const { MyModel } = require('./models/mymodel');

mongoose.Promise = global.Promise;
mongoose.connect((process.env.MONGODB_URI || 'mongodb://localhost:27017/collectionname'));
const port = (process.env.PORT || 5000);
...