mongodb - Mongoose 更新未更新:{ ok: 0, n: 0, nModified: 0 }
问题描述
我在 MongoDB 上有一个名为“权限”的集合。我想实现这样的简单更新:
let schema = new Schema({
title: String
});
let Permissions = mongoose.model("Permission", schema);
let permission = new Permissions();
let query = {};
let newValues = {
$set: {
title: "Yes"
}
};
permission.updateOne(query, newValues, (err, docs) => {
console.log(err); // null
console.log(docs); // { ok: 0, n: 0, nModified: 0 }
if (err) return cast.error(err);
return cast.ok();
});
但是,我{ ok: 0, n: 0, nModified: 0 }
在控制台日志docs
和null
控制台日志中收到err
.
我究竟做错了什么?
解决方案
根据文档
模型是从 Schema 定义编译而来的精美构造函数。模型的一个实例称为文档。模型负责从底层 MongoDB 数据库创建和读取文档。
因此,您只需要在.save()
通话期间创建实例。其他操作(更新、读取、删除)应用于现有文档,因此无需创建实例。
推荐阅读
- haskell - Passing a function as a parameter and returning a function - Haskell
- r - convert minutes into day of week and hour
- c++ - Guarantee std::shuffle returns unique sequence
- javascript - 如何从 JavaScript 中的复选框中检索值,使用 onchange 触发函数?
- php - PHP PDO Count MYSQL 列在一行中包含值
- amazon-web-services - 尝试创建 EC2 实例时,我的 VPC 显示为灰色?
- c# - MVC4 动态 base64String 在 View.cshtml 中看起来不错,但浏览器会附加额外的字符,然后图像不可见
- r - 使用 rvest 的网络抓取图像质量糟糕
- properties - Using @Value in PersistanceConfig
- vue.js - 如何从 Vue dropzone js 组件内部访问父属性?