我试图发布一个新的条目到MongoDB,我知道这个问题是我在服务器文件中调用我的路由的地方,但我不知道如何解决这个问题。我需要能够测试在邮递员的API和张贴到数据库。
我得到以下错误:
/users/ryan/desktop/leasequery/operations-backend/node_modules/express/lib/router/index.js:458抛出新的TypeError(“router.use()需要一个中间件函数,但得到了一个”+gettype(fn))^
TypeError:router.use()需要一个中间件函数,但在function.use(/users/ryan/desktop/leasequery/operations-backend/node_modules/express/lib/router/index.js:458:13)在function。(/users/ryan/desktop/leasequery/operations-backend/node_modules/express/lib/application.js:220:21)位于array.foreach()位于function.use(/users/ryan/desktop/leasequery/operations-backend/node_modules/express/lib/application.js:217:7)位于object.(/users/ryan/desktoes/leasequery/operations-backend/server.js:12:5)在module._compile(内部/module/cjs/loader.js:778:30)在object.module._extensions.js(内部/module/cjs/loader.js:789:10)在module.load(内部/module/cjs/loader.js:653:32)在tryModuleLoad(内部/module/cjs/loader.js:593:12)在function.module.load(
我正在使用一个中间件(express-validator)
server.js
const express = require("express");
const connectDB = require("./config/db");
const app = express();
connectDB();
app.use(express.json({ extended: false }));
app.get("/", (req, res) => res.json({ msg: "Welcome to Operations" }));
app.use("/api/status", require("./routes/status"));
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server listening on Port ${PORT}`));
路由/状态.js
const express = require("express");
const router = express.Router();
const { check, validationResult } = require("express-validator");
const Status = require("../models/Status");
router.post(
"/",
[
check("name", "Please Add Name")
.not()
.isEmpty(),
check("date", "Please add date")
.not()
.isEmpty(),
check("comment", "Please add comment")
.not()
.isEmpty()
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, date, comment } = req.body;
try {
entry = new Entry({
name,
date,
comment
});
await entry.save();
} catch (err) {
console.error(err.message);
res.status(500).send("Server Error...");
}
}
);
models/status.js
const mongoose = require("mongoose");
const StatusSchema = mongoose.Schema({
name: {
type: String,
required: true
},
date: {
type: Date,
required: true
},
comment: {
type: String,
required: true
}
});
module.exports = mongoose.model("status", StatusSchema);
路由/状态.js
const router = express.Router();
const { check, validationResult } = require("express-validator");
const Status = require("../models/Status");
router.post(
"/",
[
check("name", "Please Add Name")
.not()
.isEmpty(),
check("date", "Please add date")
.not()
.isEmpty(),
check("comment", "Please add comment")
.not()
.isEmpty()
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, date, comment } = req.body;
try {
entry = new Entry({
name,
date,
comment
});
await entry.save();
} catch (err) {
console.error(err.message);
res.status(500).send("Server Error...");
}
}
);
module.exports = router;
我正在做一个项目,我的意图是运行一个玉米作业,并发送邮件给我的朋友,祝他们生日,我能够从MySQL DB获取电子邮件,并将其与当前日期进行比较,但当涉及到发送电子邮件时,我得到NullPointerException。 我确信应用程序属性没有问题,我在其他项目中也使用了它们,它们的功能正常 这是我得到以下信息的错误
} 它正在抛出这些错误。
11:15:57创建表如果不存在tblcompany(companyid INT(11)无符号NOT NULL,custfirst VARCHAR(50),custlast VARCHAR(50),company VARCHAR(50),custphone VARCHAR(50), custemail VARCHAR(50),主键(companyid),索引(companyid),约束外键(com
我正试图将即时消息添加到现有的应用程序中。但是我不确定应该如何配置socket.io模块。我已经尝试了以下方法: 因为打开一个页面时没有记录connected,所以我假设丢失了一些东西。我的错误在哪里?
我是MVVMCROSS6.0和Xamarin的新手。 null ConfigurationChanges=ConfigChanges.Screensize ConfigChanges.Orientation)]公共类MainActivity:MvxFormsAppCompatActivity{protected override void OnCreate(Bundle Bundle){TabLa
问题内容: 我有一些代码来计算圆的属性: 它计算周长,但不计算其余部分。 问题答案: 是一个,也一个,这意味着不能在第二个打印语句中使用。试试那里。 回想一下,这是浮点数,而整数。在的文档中对此进行了概述(请参阅“ 格式化字符串语法”)。