猫鼬中的.find()函数在节点js中返回null

时间:2018-10-07 16:49:28

标签: node.js mongodb mongoose

我只是想从数据库中检索所有文档,但是我得到的是空数组。我正在使用express,mongodb和mongoose。     下面是我的代码:

const express = require('express');
const countryArray = require('../models/countryArray');
const router = express.Router();

router.get('/',(req,res)=>{
      countryArray.find({ },function (err, result) {
      if (err) 
        return console.error(err);
      console.log(result);
    });
    res.render('index');
});
module.exports = router ;

My Schema is this:

const mongoose = require('mongoose');
var Schema = mongoose.Schema;
var countrySchema = new Schema({
        country_id:String,
        country_name:String
});
var countryArray = mongoose.model('countryArray',countrySchema);
module.exports = countryArray;

Below is my document in mongodb:

{
    "_id": {
        "$oid": "5bba2693e7179a6602f63589"
    },
    "country_id": "1",
    "country_name": "India"
}

1 个答案:

答案 0 :(得分:-1)

我不确定,但是我认为以下内容可能有用/有用:给模型命名。

Afaik不仅是一种“好的做法”,但我认为模型名称(countryArray)应该在PascalCase中。 (CountryArray,而不是countryArray)

var countryArray = mongoose.model('countryArray',countrySchema);

希望这会有所帮助。