Node JS和Express无法从Mongo DB读取数据

时间:2020-01-03 13:00:41

标签: javascript node.js mongodb express node-modules

我想使用Node JS和Express JS从Mongo DB中获取数据。我已经制作了一个猫鼬模式并导出了该模块。但是当我运行该函数时,我只是得到一个空的JSON对象。 这是一些代码:

这是我的导出功能:

var Buchung = module.exports = mongoose.model('Buchung', buchungSchema);

//Get Buchungen
module.exports.getBuchungen = function (callback) {
    Buchung.find(callback);
};

这是我实际获取数据的功能:

Buchung = require('../DB/models/buchung_mitarbeiter');

router.get('/buchungen', function(req,res){
    Buchung.getBuchungen(function (err, buchung) {
        if(err){
            throw err;
        }
    console.log(buchung);
    res.json(buchung);

    });
});

最后是我的架构:

var buchungSchema = mongoose.Schema({
    user:{
          type: String,
          required: true
      },
    tor:{
        type: Number,
        required: true
    },
    datum:{
        type: String,
        required: true
    },
    sendungsstruktur:{
        type: String,
        required: true
    }

});

我非常感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

我更新了下面的代码。请尝试让我知道是否仍然遇到此问题。我已标有*,因此在使用前请删除*。

Buchung = require('../DB/models/buchung_mitarbeiter');

    router.get('/buchungen', function(req,res){
        Buchung.getBuchungen(function (err, buchung) {
            if(err){
                throw err;
            }
        console.log(buchung);
        res.json(buchung);
        **res.send(buchung)**
        });
    });

答案 1 :(得分:0)

导出您的架构。

module.exports = mongoose.model('Buchung', buchungSchema);
Buchung = require('../DB/models/buchung_mitarbeiter');

router.get('/buchungen', (req,res) => {
   Buchung.find().then(buchungs => {
     res.json(buchungs);
   }).catch(err => res.json({err})) 
});
`

答案 2 :(得分:0)

var Buchung = module.exports = mongoose.model('Buchung', buchungSchema);
module.exports.getBuchungen = function (callback) {
    Buchung.find()
    .then(response => {
    return response; 
    })
    .catch(error => {
    return error;
});
};