最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在TypeScript接口中定义mongoose

运维笔记admin10浏览0评论

如何在TypeScript接口中定义mongoose

如何在TypeScript接口中定义mongoose

我正在使用Mongoose和TypeScript接口+ class + schema approach。

存储_id字段的规范方法是什么?

我知道db将它存储为bson ObjectID。但我已经看到一些使用string和其他人使用mongoose的ObjectId,然后因各种原因在它们之间进行转换的例子 - 所以我不确定使用哪个。

interface Animal {
  _id: ?type?;        // ?
  name: string;
}

是否可取用

  • string
  • mongoose.Types.ObjectId
  • mongodb.ObjectID
  • bson.ObjectID

另外,假设使用objectid是正确的 - 我想避免在接口文件中依赖mongoose。使用bson软件包的ObjectID是否安全/可取 - 它们是否相同?

回答如下:

您可以使用mongoose.Document扩展您的界面。你的界面会来

interface Animal extends mongoose.Document { 
  name: string;
}

用法:

export let AnimalSchema = mongoose.model<Animal>('animal', schema, 'animals');
let animal = await AnimalSchema.find({_id: "id"}).exec();
// animal._id / animal.name
发布评论

评论列表(0)

  1. 暂无评论