Mongoose с MongoDB Atlas возвращают пустой массив - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь соединить express.js с MongoDB Atlas и mongoose, но сервер всегда возвращает пустой массив '[]'. Когда я загружаю локальную базу данных, все работает (локально MongoDB и Atlas MongoDB имеют одинаковые значения)

Контроллер:

const mongoose = require('mongoose');
const HistoryData = require('../models/databaseHistory');

exports.data = (req, res) => {
    res.header("Access-Control-Allow-Origin", "*");
    mongoose.connect('mongodb+srv://olechbartlomiej:<myPass>@quizapp-mpygt.mongodb.net/test?retryWrites=true', {useNewUrlParser: true});
    mongoose.Promise = global.Promise;
    HistoryData.find({ type : 'question' }).then((historyData) => {
        res.send(historyData)
    })
}

Схема:

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

const dataSchema = new Schema({
    type: {
        type: String
    },
    data: {
        type: String
    }
})

const HistoryData = mongoose.model('history', dataSchema);
module.exports = HistoryData;

Коллекция MongoDB Atlas: (Имя базы данных: тест, название коллекции: история)

    _id : 5c9bdb721c9d440000345d62
    type : "question"
    data : "test test"
* Экран 1013 *: Экран MongoDB Atlas

И сервер возвращает []

1 Ответ

1 голос
/ 15 мая 2019

Вам необходимо указать имя базы данных в качестве опции при подключении.Обновите объект параметров следующим образом: {useNewUrlParser: true, dbName: "YOUR-DB-NAME-HERE"}

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