mongoose Ошибка схемы при заполнении - PullRequest
0 голосов
/ 17 мая 2018

Я создаю приложение с экспресс-использованием mongoose в качестве ORM для моей базы данных MongoDB.

У меня есть две модели, расположенные в отдельных файлах: User и Posts.

Модель User.js выглядит следующим образом

var mongoose = require('mongoose'),
    moment = require('moment'),
    Schema = mongoose.Schema,
    UserSchema = new Schema({
        created_at: {type: Date, default: moment()),
        name: String
    });
module.exports = mongoose.model('user', UserSchema);

и модель Posts.js

var mongoose = require('mongoose'),
    moment = require('moment'),
    Schema = mongoose.Schema,
    PostSchema = new Schema({
        created_at: {type: Date, default: moment()},
        user: {type: Schema.Type.ObjectId, ref: 'User'}
    });

Я называю их в контроллерах в отдельных файлах, которые выглядят как

var Post = require('../models/User'),
    User = require('../models/Posts');

Post.find().populate('user').exec();

Эта группа возвращает мне MissingSchemaошибка, которая говорит: MissingSchemaError: Схема для модели 'Posts' не была зарегистрирована.

Соединение с базой данных находится в основном файле: app.js

var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/database');

Может кто-нибудь подсказатьмне что не так с моим кодом?

1 Ответ

0 голосов
/ 17 мая 2018

Потому что ваша ссылка, если для "User", я думаю, вам просто нужно объявить вашу первую модель с правильным Typpo

module.exports = mongoose.model('User', UserSchema);

вместо

module.exports = mongoose.model('user', UserSchema);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...