使用的 node+express+mongoose以上是我数据库中的的数据 保存在local数据集中的indexes数据表里面我应该如何通过mongoose来获取其中的数据呢?假设我现在的路由为users 我该如何在users路由里面编写代码呢?代码:var express = require('express');var assert = require('assert'); //引入断言模块var mongoose = require('mongoose');//导入mongoose模块var db = mongoose.connection;var router = express.Router();// var Users = require('../modules/users');//导入模型数据模块//首页数据var data_home = { sub_tit: '12312', rec_txt: '12312321'};db.on('error', console.error.bind(console, 'connection error:'));db.once('open', function () { //数据表储存文件的架构 var index_data = mongoose.Schema({ sub_tit: String, rec_txt: String }); //由Schema构造生成的模型,除了Schema定义的数据库骨架以外,还具有数据库操作的行为,类似于管理数据库属性、行为的类 var data_true = mongoose.model('index', index_data); var fluffy = new data_true(data_home); fluffy.save(function (err, fluffy) { if (err) return console.error(err); router.get('/users', function(req, res, next) { res.json(fluffy); }); }); router.get('/users', function (req, res, next) { data_true.find(function (data,err) { res.json(data);//打印出来为null, res.json(err)//可以正确打印出来 这我就不懂了err不是错误才会出现的吗?难道是某个地方出错了? }); });});module.exports = router;正确的获取方式是这样的吗?
1 回答
青春有我
TA贡献1784条经验 获得超8个赞
err 肯定是作为回调函数的第一个参数,所以你的 data 为空说明没有错误,你的 err 才是真正的返回结果:
data_true.find(function (data,err) {
res.json(data);
res.json(err);
});
添加回答
举报
0/150
提交
取消
