Mongoose 不断为 _id 和 id 提供相同的值

Dus*_*gal 3 mongoose mongodb node.js

我有一些 Mongoose 模式,其某些字段需要 getter 和 setter。

为此,我设置了以下内容:

MySchema.set('toObject',{getters:true});
MySchema.set('toJSON',{getters:true});
Run Code Online (Sandbox Code Playgroud)

每当我发送/读取 的结果时MySchema.find(),它都会给我_idid字段,它们具有相同的值。我认为那是一个虚拟字段(如果我错了请纠正我)

我该如何阻止这个?我不想处理每个对象并删除该字段。

rob*_*lep 6

记录在这里

id默认情况下,Mongoose 为每个模式分配一个虚拟 getter,该 getter 将文档_id字段转换为字符串,或者在 ObjectIds 的情况下,返回其十六进制字符串。如果您不希望id将 getter 添加到您的架构中,您可以在架构构建时传递此选项来禁用它。

只需在创建架构时将该id字段设置为:false

var schema = new Schema({ name: String }, { id: false });
Run Code Online (Sandbox Code Playgroud)