Node.js Express TypeError对象不是函数
我一直收到这样一个错误,说TypeError:getvouels.find不是一个函数。 这是一个大摇大摆的Express项目,学习如何创建mongoose函数来查找。我做错了什么? 提前谢谢Node.js Express TypeError对象不是函数,node.js,express,swagger-2.0,Node.js,Express,Swagger 2.0,我一直收到这样一个错误,说TypeError:getvouels.find不是一个函数。 这是一个大摇大摆的Express项目,学习如何创建mongoose函数来查找。我做错了什么? 提前谢谢 var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); var VowelsSchema = require('../models/vowels'); //
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var VowelsSchema = require('../models/vowels');
// connect to our database
mongoose.createConnection('mongodb://127.0.0.1:27017');
module.exports = router;
router.get('/', function(req, res) {
var getVowels = new VowelsSchema();
getVowels.find(function(err, vowels) {
if (err) {
res.send(err);
}
res.json(vowels);
});
});
如果
元音模式
是Mongoose模型,则在构造函数本身上定义:
VowelsSchema.find(function (err, vowels) { ... });
而不是作为实例的一种方法,getvouels
注:Mongoose使用2个“运算符”来区分方法类型:
- 构造函数方法的句点(
),例如 - 示例方法的数字符号(
),例如
元音模式
是猫鼬模型,则在构造函数本身上定义:
VowelsSchema.find(function (err, vowels) { ... });
而不是作为实例的一种方法,getvouels
注:Mongoose使用2个“运算符”来区分方法类型:
- 构造函数方法的句点(
),例如 - 示例方法的数字符号(
),例如
find
方法。它不适用于模型的实例
,但适用于模型
本身
因此,不要使用getvouel.find(函数(err,vouels){…})
,而是尝试以下方法
VowelsSchema.find({},function(err,vowels){//its always a good practice to ue {} in find
if (err) {
res.send(err);
}
res.json(vowels);
});
您错误地使用了
find
方法。它不适用于模型的实例
,但适用于模型
本身
因此,不要使用getvouel.find(函数(err,vouels){…})
,而是尝试以下方法
VowelsSchema.find({},function(err,vowels){//its always a good practice to ue {} in find
if (err) {
res.send(err);
}
res.json(vowels);
});