如何从打字稿界面生成 MongoDB JSON 模式?

Dau*_*eDK 5 mongodb typescript mongodb-schema

我的目标是提高 MongoDB 数据库中的数据质量 - 通过使用我的目标是通过使用JSON 模式验证。我们在项目中使用打字稿,并为我们所有的集合提供接口。

\n

所以我基本上正在寻找一种有效的方法;

\n

转换此接口:

\n
import { ObjectId } from \'mongodb\';\n\nexport interface Category {\n  _id: ObjectId;\n  date: Date;\n  level: string |\xc2\xa0null;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

进入这个 JSON 模式

\n
export const CategoryJSONSchema = {\n  required: [\'_id\', \'date\', \'level\'],\n  additionalProperties: false,\n  properties: {\n    _id: { bsonType: \'objectId\' },\n    date: { bsonType: \'date\' },\n    level: { oneOf: [{ bsonType: \'null\' }, { bsonType: \'string\' }] }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

小智 -2

您考虑过使用mongoose吗?您可以强制您的架构符合接口。例如:

const CategorySchema = new mongoose.Schema<CategoryInterface>({ ... });
Run Code Online (Sandbox Code Playgroud)

  • 是的,我考虑过“猫鼬”,但这不是问题解决方案空间的一部分。 (3认同)