Mongoose不断为_id和id赋予相同的值

时间:2016-06-30 10:24:53

标签: node.js mongodb mongoose

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

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

MySchema.set('toObject',{getters:true});
MySchema.set('toJSON',{getters:true});

每当我发送/读取MySchema.find()的结果时,它都会向我提供具有相同值的_idid字段。 我认为这是一个虚拟领域(如果我在这里错了,请纠正我)

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

1 个答案:

答案 0 :(得分:0)

Documented here

  

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

创建架构时,只需将id字段设置为false

var schema = new Schema({ name: String }, { id: false });