昨天,我试图通过邮递员发布新的“门票”,并且这种方法有效。今天,我再次尝试,但收到“未定义uuidv1”错误。
这是我的TicketRoutes.js中的代码:
var express = require('express');
var routes = express.Router();
//var mongodb = require('../config/mongo.db');
var Account = require('../models/Account');
var Ticket = require('../models/Ticket');
var Product = require('../models/Product');
var Order = require('../models/Order');
var TopicPublisher = require('../messaging/publishers/TopicPublisher');
routes.get('/', function (req, res, next) {
Ticket.find({})
.then((tickets) => res.status(200).send(tickets))
.catch(next);
});
routes.get('/:id', function (req, res, next) {
Ticket.findOne({Id: req.params.id})
.then((ticket) => res.status(200).send(ticket))
.catch(next);
});
routes.post('/', function(req, res, err) {
var new_ticket = new Ticket({
id: uuidv1(),
account_id: req.body.account_id,
title: req.body.title,
description: req.body.description,
order: req.body.order
});
console.log(newTicket.Id);
new_ticket.save(function(err, task) {
if (err){
res.send(err);
}
TopicPublisher.sendMessageWithTopic(JSON.stringify(new_ticket),"ticket.created");
res.json(req.body);
})
});
routes.put('/:id', function (req, res, next) {
ticketId = req.params.id;
const updatedTicket = req.body;
Ticket.findOneAndUpdate({Id: ticketId}, updatedTicket)
.then(ticket => res.send(ticket))
.catch(next);
});
routes.delete('/:id', function (req, res, next) {
Ticket.findOneAndDelete({Id: req.params.id})
.then((ticket) => res.status(200).send(ticket))
.catch(next);
});
module.exports = routes;
我在CMD中遇到的错误:
C:\Users\Yoki\Desktop\Amabol\src\routes\TicketRoutes.js:25:22
at Layer.handle [as handle_request] (C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\Yoki\Desktop\Amabol\node_modules\express\lib\router\index.js:335:12)