Mongoose模型不返回数据

时间:2016-12-27 04:40:49

标签: javascript node.js mongodb mongoose

我尝试设置模型,但页面上没有数据呈现(使用手柄视图引擎)。

我在app.js文件中有以下内容:

 var mongoose = require('mongoose');
 var Schema = mongoose.Schema;
 var NickiNumberSchema = new Schema({
   number: {type: 'String', required: true},
   firstName: {type: 'String'}
 });
 var NickiNumber = mongoose.model('Nickinumber', NickiNumberSchema);
 module.exports = NickiNumber;

然后这是我为需要返回的数据设置的模型,这是在nickinumbers.js文件中:

var express = require('express');
var router = express.Router();

var NickiNumber = require('../models/nickinumbers');
    router.get('/', function(req, res) {
        NickiNumber.find(function(err, nums) {
            if (err) return console.error(err);
            res.render('index', {title: 'Users', nums: nums});
    }); 
});



module.exports = router;

最后,我的index.js路由器文件包含:

String name = attribute.getName().toString();

我没有在服务器或控制台上看到任何错误,我无法弄清楚为什么这不起作用。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

查找功能第一个参数是查询条件,然后应用回调

所以你应该使用查询条件{}来获取所有记录或者可以应用你的查询。所以应该使用NickiNumber.find({}, function(...

查询应该是:

var express = require('express');
var router = express.Router();

var NickiNumber = require('../models/nickinumbers');
router.get('/', function(req, res) {
        NickiNumber.find({}, function(err, nums) {
            if (err) return console.error(err);
            res.render('index', {title: 'Users', nums: nums});
    }); 
});

module.exports = router;