Mongoose将 _id 更改为 id。
在使用Mongoose操作MongoDB时,有时候我们希望将默认的"_id"字段改为"id"字段。下面就是这个问题出现的原因以及解决方法。
问题的出现原因:
默认情况下,Mongoose会自动生成一个名为"_id"的字段来作为每个文档的唯一标识符。然而,有时候我们可能不希望使用"_id"作为标识符,而是希望使用"id"字段。
解决方法:
要将"_id"改为"id",可以在模式定义中使用"versionKey"属性并将其设置为false。具体的解决方法如下:
'use strict'; const mongoose = require('mongoose'); export class DeviceID extends mongoose.Schema { constructor() { super({ device_id: String }, { versionKey: false }); } }
在上面的例子中,我们定义了一个名为DeviceID的模式,其中包含一个字段device_id。在模式的第二个参数中,我们将"versionKey"设置为false,这样就可以隐藏掉默认的"_id"字段。
通过这个简单的修改,我们就可以将Mongoose中的"_id"改为"id",从而满足我们的需求。