node.js - 在 mongoose 中使用 findByIdAndUpdate 方法时仅获得弃用警告,而不是结果或任何错误
问题描述
require('mongoose')
const User = require('../src/models/users');
User.findByIdAndUpdate('5e2fd89f475fd04adb5f938c',{age:35}).then((user)=>{
console.log(user);
return User.countDocuments({age:35})
}).then((result)=>{
console.log(result);
}).catch((error)=>{
console.log(error);
});
我有一个用户模型,我正在尝试使用 Mongoose ODM 提供的 findByIdAndUpdate 方法来更新年龄。我在控制台上得到的只是弃用警告,而不是结果或错误。年龄也没有更新。
mongoose.js 文件的内容
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/task-manager-api',{
useNewUrlParser:true,
useCreateIndex:true,
useUnifiedTopology:true,
useFindAndModify:false
})
解决方案
那是因为您的传递id
为object
. 虽然findByIdAndUpdate
期望它string
。你可以试试这个:
User.findByIdAndUpdate('5e2fd89f475fd04adb5f938c',{age:35}).then((user)=>{
console.log(user);
return User.countDocuments({age:35})
}).then((result)=>{
console.log(result);
}).catch((error)=>{
console.log(error);
});
希望这对你有用。
推荐阅读
- python - SQLAlchemy 未在正确选择时构建 JOIN
- java - 将 Netty 与 ClamAV Instream 一起使用
- angular - 角料表过滤器测试
- canvas - 缩放时在画布上正确定位文本
- python - 将 asyncio 与来自外部库的非异步回调方法一起使用
- python - 如何从键盘按下触发回调?包括有错误的示例
- android - 为什么即使优化级别为 3,向量分配也需要这么多时间?
- c - 尝试使用 fgetc() 从文件中读取未知字符串长度
- java - 从主类中的另一个类访问arraylist
- swift - 在 SwiftUI 中切换视图的最佳方式是什么?