node.js - .find() 与 node.js 和 mongoose 一起使用时返回空,但在 mongo shell 上返回数据
问题描述
我刚刚在 mongodb 上创建了一个简单的数据库,并尝试使用 node.js 创建一个 api 来从数据库中获取数据。当我使用 .find() 在 mongodb shell 上查询数据库时,一切正常,我得到了数据,但是当我使用 api 做同样的事情时,我得到一个空数组。
这是我的 app.js 文件的代码:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var mongoose = require('mongoose');
var request = require('request');
User = require('./models/User');
//Connect to Mongoose
mongoose.connect("mongodb://localhost:27017/Blinc");
mongoose.Promise = global.Promise;
var db = mongoose.connection;
app.get('/',function(req, res){
res.send('Please use1 /api/books or /api/genres');
});
app.get('/api/users', function(req, res){
User.getUsers(function(err, user){
if (err) {
throw err;
console.log(err);
}
res.json(user);
console.log(user);
});
});
app.listen(3000);
console.log('Running on port 3000....');
这是我的 User.js 文件的代码:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost:27017/Blinc');
// User Schema
var userSchema = new Schema({
email:{
type: String,
required: true
},
username:{
type: String,
required: true
},
password:{
type: String,
required: true
},
name:{
type: String,
required: false
},
phoneNo:{
type: String,
required: false
}
});
var User = module.exports = mongoose.model('User', userSchema);
// Get users
module.exports.getUsers = function(callback, limit){
User.find(callback).limit(limit);
}
我的数据库名称是 Blinc,它有一个名为 User 的集合。有人可以建议我我做错了什么吗?
解决方案
推荐阅读
- flutter - 搜索栏实现不起作用。代码不搜索任何东西
- r - R; 想要制作一个漂亮的分组条形图(ggplot2),y 轴上有 %,x 轴上有类别(总共 9 个),每个类别有四个分组条
- react-native - React-Native 渲染一个有 2 行的水平列表
- docker - 运行 Docker nginx 找不到复制的文件
- postgresql - sqlalchemy 无法在 for 循环中执行 session.add()
- bootstrap-table - 引导表不适用于 RouterLink
- javascript - 在 Golang/Gin 模板中运行 Vue 应用程序
- android - 我如何在颤动中创建一个绘图应用程序,我可以在颤动中绘制线条形状
- python - scipy.stats.binom 和 np.random.binomial 之间的区别
- angular - Primeng virtualscroll offset 像 peagination