gpt4 book ai didi

javascript - 类型错误 : object is not a function in node Js

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:12 25 4
gpt4 key购买 nike

我是nodejs的初学者,我正在开发一个REST api来与mongodb交互。我使用了express和mongoose,如以下教程中所述:

https://codeforgeek.com/2015/08/restful-api-node-mongodb/

我已经设置了 mongo db,这是我在 Node js 中的服务器代码:

var express     =   require("express");
var app = express();
var bodyParser = require("body-parser");
var router = express.Router();
var mongoOp = require("./models/mongo");
//var user = require("./Entities/User");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({"extended" : false}));
router.get("/",function(req,res){
res.json({"error" : false,"message" : "Hello World"});
});
router.route("/users")
.get(function(req,res){
var response = {};
mongoOp.find({},function(err,data){
// Mongo command to fetch all data from collection.
if(err) {
response = {"error" : true,"message" : "Error fetching data"};
} else {
response = {"error" : false,"message" : data};
}
res.json(response);
});
})
.post(function(req,res){
var db = new mongoOp();
var response = {};
// fetch email and password from REST request.
// Add strict validation when you use this in Production.
db.userEmail = req.body.email;
// Hash the password using SHA1 algorithm.
db.userPassword = require('crypto')
.createHash('sha1')
.update(req.body.password)
.digest('base64');
db.save(function(err){
// save() will run insert() command of MongoDB.
// it will add new data in collection.
if(err) {
response = {"error" : true,"message" : "Error adding data"};
} else {
response = {"error" : false,"message" : "Data added"};
}
res.json(response);
});
});
app.use('/',router);
app.listen(3000);
console.log("Listening to PORT 3000");

这是我的 mongo 模块

var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/Appdb");
//Create instance of Schema
var mongoSchema = mongoose.schema;
//Create Schema
var userSchema = {
"userEmail":String,
"userPassword":String
}
//Create model if not exists.
module.export = mongoose.model('userLogin',userSchema);

当我使用 RESTClient(firefox 中用于测试 RESTful 应用程序的插件)时,出现以下错误:

TypeError: object is not a function at E:\node\server.js:30:18
at Layer.handle [as handle_request] (E:\node\node_modules\express\lib\router\layer.js:95:5) .........

enter image description here

谁能帮帮我...

最佳答案

module.exports = mongoose.model('userLogin',userSchema);

使用导出而不是导出

关于javascript - 类型错误 : object is not a function in node Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38026751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com