node.js - 在 Mongoose(Mongodb)中隐藏“_V”(versionKey)字段的结果是什么?
问题描述
我们可以使用多种方式隐藏该字段,如下所示:
let schema = new Schema({ },{versionKey: false});
但是我想知道隐藏这个字段的结果和效果。
解决方案
看看mongoose 文档和那篇很棒的文章
这里有一些答案:
mongoose 使用 versionKey 来了解文档上的冲突访问。versionKey 在每次修改后递增。
因此,如果两个进程检索版本 2 中的文档,然后修改文档并尝试.save()
,第一个进程将成功,versionKey 将递增为 3。第二个进程将拒绝它的请求;因为 versionKey 等于 2 的文档不再存在。