【发布时间】:2012-05-08 23:05:24
【问题描述】:
mongoose 是否可以使用不同的名称(在我的情况下为大写“ID”)作为模式 _id 字段的别名? 我需要添加一个虚拟还是有其他设置方法?
任何帮助都非常感谢。
【问题讨论】:
mongoose 是否可以使用不同的名称(在我的情况下为大写“ID”)作为模式 _id 字段的别名? 我需要添加一个虚拟还是有其他设置方法?
任何帮助都非常感谢。
【问题讨论】:
您可以为此使用virtual attribute。如:
yourSchema.virtual('ID').get(function() { return this._id; });
【讨论】:
最简单的方法是在架构中指定alias:
let s = new Schema({
_id: { type: String, alias: "ID" }
});
这会自动创建 getter 和 setter,因此可以在任何地方使用 ID 而不是 _id。
【讨论】:
基于 v5.11.9 mongoose 文档看起来像 mongoose 分配了您的每个 schemas an id virtual getter by default,它返回文档的 _id 字段
【讨论】: