我正在尝试将change_id从mongoose架构变为'id',如此处所示MongoDB: output 'id' instead of '_id'
复制ID字段。
Schema.virtual('id').get(function(){
return this._id.toHexString();
});
// Ensure virtual fields are serialised.
Schema.set('toJSON', {
virtuals: true
});
我使用的是typescript,Schema似乎没有'virtual'方法,也没有'set'方法,关键字'this'也没有绑定在这个上下文中。谁知道他们的打字稿等价物?
答案 0 :(得分:2)
这似乎可以继承
import { Schema } from 'mongoose';
class BaseSchema extends Schema {
constructor(args) {
super();
this.add(args);
this.virtual('id').get(function(this: any) {
return this._id.toHexString();
});
this.set('toObject', {
virtuals: true,
});
this.set('toJSON', {
virtuals: true,
});
}
}