我在NestJs库中使用Mongoose,并希望为我的所有模式使用mongoose-delete插件。
但我不知道如何使用它与nestJS和Typescript。
首先,我安装了mongoose-delete
和@Types/mongoose-delete
库,但没有此插件的类型脚本文档。这是通过嵌套添加插件的推荐方法:
MongooseModule.forRoot(MONGO_URI, {
connectionFactory: connection => {
connection.plugin(require('mongoose-delete'));
return connection;
},
}),
这绝对会生成esLint错误:
Require语句不是import语句的一部分。埃斯林特
而且我不能使用delete
函数。 Mongoose 没有定义。德库芒
export type ChannelDocument = Channel & Document;
constructor(
@InjectModel(Channel.name) private _channelModel: Model<ChannelDocument>,
) {}
async delete(id: string) {
this._channelModel.delete({ id });
// This is undefined -^
}
3条答案
按热度按时间qlckcl4x1#
使用软删除插件=〉https://www.npmjs.com/package/soft-delete-mongoose-plugin
一个简单友好的Mongoose软删除插件,用TS实现。在Mongoose模型上增加和重写方法实现软删除逻辑。
您可以将其用作全局插件:
lxkprmvk2#
安装此软件包后尝试重新启动IDE(如果使用vscode):@types/mongoose-delete
rsl1atfo3#
请查看mongoose-softdelete-typescript。