node.js - Model.save() 被窃听?
问题描述
我正在尝试通过需要提交名称并将其保存到集合的 freecodecamp 测试。但是,每次我在表单中按下提交时,控制台中都会出现一条冗长的警告消息:
(node:20679) DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
这是我的路线代码:
app.post('/api/exercise/new-user/', (req, res) => {
const {username} = req.body;
if(username===''){
res.send('Name must not empty');
}else{
const aNewTrainee = new PersonExcer({name:username});
aNewTrainee.save().then(aTrainee => {
res.status(200).json(aTrainee);
})
.catch(err => {
res.status(400).send('adding new todo failed');
});
}
})
而且因为如果我在保存后尝试查询文档集合,没有结果,那只能意味着save()
调用不起作用:
//This has no result
app.get('/api/exercise/users', (req, res)=>{
PersonExcer.find(function(err, docs) {
if (err) {
console.log(err);
} else {
res.json(docs);
}
});
//This has no result
})
请在此处查看完整的代码(编辑:链接已删除)。
解决方案
我一直在尝试您的代码,它工作正常,请将您的猫鼬更新/升级到最新版本。
您可以使用下面的命令行来检查哪些软件包有更新的版本可用:
npm outdate
对于upgrade
您的猫鼬,您可以使用以下命令行:
npm install mongoose@latest --save
对于update
,您可以使用以下命令行:
npm update mongoose
我希望它可以帮助你。
推荐阅读
- firebase - 将图像上传到firebase时如何获取日期和时间?
- vba - 如何解决距离计算代码中的“运行时错误:需要 424 个对象”
- android - 如何使用 RxJava2 的 Zip 运算符?
- android - 使用signInWithCredential时如何在Firebase中合并prevUser和currentUser?
- java - 如何使用 jcov 查找 java 代码覆盖率
- javascript - 带有折线图的 Amcharts 堆积柱形图将 valueaxis 放在折线图下方
- machine-learning - ID3算法中的“3”是什么意思
- python - 在python中将DateTime对象列表转换为字符串
- github-pages - 如何使用 github 页面修复 manifest.json 404
- node.js - IBM Watson Node-SDK 使用管道输入而不是文件