Почему mon goose .find возвращает пустой массив - PullRequest
1 голос
/ 08 апреля 2020

Я создаю сервер express, на котором я пытаюсь найти треки в моей базе данных. Несмотря на то, что я создал модель, точно соответствующую атрибутам в моей базе данных, он все равно возвращает мне пустой массив. Пожалуйста, помогите

приложение. js

require('./config/config');
require('./db');
var Track = require('./models/track.model');

const mongoose = require('mongoose'),
      express = require('express'),
      bodyParser = require('body-parser');

var app = express();


const connection = mongoose.connection;

connection.once('open', () => {
      console.log('MongoDB database connection established successfully!');
});

app.use(express.static(__dirname + '/public'));
app.use(bodyParser.json());

app.get('/', function(req, res) {
      Track.find({}, function(err, tracks) {
            if (!err) {
                console.log(tracks);
                process.exit();
            }
            else {
                throw err;
            }
        }); 
      res.sendFile('index.html', {root: __dirname});
});

app.listen(process.env.PORT, ()=> console.log(`Server started at port: ${process.env.PORT}`));

track.model. js

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

let Track = new Schema({
  Position: {
    type: Number
  },
  Track: {
    type: String
  },
  Artist: {
    type: String
  },
  Streams: {
    type: Number
  },
  Url: {
    type: String
  },
  Date: {
    type: String
  }
});

module.exports = mongoose.model('Track', Track);

Track Collection

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

Вам необходимо привязать схему к коллекции следующим образом:

let Track = new Schema({
  Position: {
    type: Number
  },
  Track: {
    type: String
  },
  Artist: {
    type: String
  },
  Streams: {
    type: Number
  },
  Url: {
    type: String
  },
  Date: {
    type: String
  }
}, { collection : 'spotifyCharts' });
0 голосов
/ 08 апреля 2020
if (!err){

     console.log(tracks);

     //Convert to JSON format

     res.json(tracks)

     process.exit();

   }

2.

Тест вместе с Collection Name в module.exports

module.exports = mongoose.model('Track', Track, 'CollectionName')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...