Mongoose在Schema中添加了一个'__v'属性用于版本控制 - 是否可以全局禁用它或全局隐藏所有查询?
来自文档:
versionKey是Mongoose首次创建时在每个文档上设置的属性.此键值包含文档的内部修订版.此文档属性的名称是可配置的.默认值为__v.如果这与您的应用程序冲突,您可以这样配置:
[...]
通过将versionKey设置为false,也可以禁用文档版本控制.除非您知道自己在做什么,否则请勿禁用版本控制.
但我很好奇,在哪些情况下禁用此功能应该是安全的?
我遇到了以下我不明白的代码行,尽管有很多教程提供了与示例相关的信息,populate但是没有任何教程可以解释其含义。这里有一个示例
var mongoose = require('mongoose'), Schema = mongoose.Schema
var PersonSchema = new Schema({
name : String,
age : Number,
stories : [{ type: Schema.ObjectId, ref: 'Story' }]
});
var StorySchema = new Schema({
_creator : {
type: Schema.ObjectId,
ref: 'Person'
},
title : String,
fans : [{ type: Schema.ObjectId, ref: 'Person' }]
});
var Story = mongoose.model('Story', StorySchema);
var Person = mongoose.model('Person', PersonSchema);
Story.findOne({ title: /Nintendo/i }).populate('_creator') .exec(function (err, story) {
if (err) ..
console.log('The creator is %s', …Run Code Online (Sandbox Code Playgroud)