我像往常一样开发了节点rest api,但是这次它在controller.js文件中显示了一些无效的错误。不需要猫鼬。当我用邮递员访问API时,它给出的错误为:
{
"error": {
"message": "Tweets is not a constructor"
}
}
我什至更新了我的软件包,但似乎没有任何效果。这是我的 tweets.js控制器的代码段:
const mongoose = require('mongoose');
const Tweets = require('../models/tweets');
exports.get_all_tweets = (req, res, next) => {
Tweets.find()
.exec()
.then(docs => {
console.log(docs);
res.status(200).json(docs);
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
}
exports.create_tweets = (req, res, next) => {
const tweetbody = req.body;
tweetbody._id = mongoose.Types.ObjectId();
const tweet = new Tweets(tweetbody);
tweet
.save()
.then(docs => {
console.log(docs, 'Tweets');
res.status(200).json(docs);
})
.catch(err => {
console.log(err, 'error found');
res.status(500).json({
error:err
});
});
第一组猫鼬显示为空白,如屏幕截图所示: mongoose
tweets.js的模型:
const mongoose = require('mongoose');
const tweetSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
time: { type: String},
count: { type: Number}
});
module.export = mongoose.model('Tweets', tweetSchema);
答案 0 :(得分:0)
请在架构初始化之前检查所有路径并添加新关键字
tweets.js的模型:
const tweetSchema = new mongoose.Schema({
答案 1 :(得分:0)
使用async/await
exports.get_all_tweets = async (req, res, next) => {
const result = await Tweets.find()
res.status(200).json(result);
}
答案 2 :(得分:0)
module.exports的末尾带有's'