有很多项目可以帮助使用 NodeJS 为 MongoDB 提供种子,但没有一个是原生的 TypeScript。通过 TypeScript 以编程方式播种数据的最佳方式是什么?
我目前正在研究它,我有一个看起来像这样的 seederScript
require("dotenv").config();
import { ProductsData } from "./data/products"; //dummy data
import connectDB from "./config/db";
import Product from "./models/product";
connectDB();
const importData = async (): Promise<void> => {
try {
await Product.deleteMany({});
await Product.insertMany(ProductsData);
console.log("Data Import Success");
process.exit();
} catch (error) {
console.error("Error with data import", error);
process.exit(1);
}
};
importData();
当我尝试使用节点
node src/seederScript
运行此脚本时,我收到此错误 Cannot find module...
。我遇到了很多不同的错误,但是我尝试了,但我不知道出了什么问题
您需要先构建项目,然后运行种子文件的
.js
版本。以下是如何使用 package.json
中的脚本进行设置的示例:
"scripts": {
"dev": "nodemon --exec ts-node './src/server.ts'",
"build": "rm -rf dist/ && tsc --project './tsconfig.build.json'",
"start": "pnpm build && NODE_ENV=production node --trace-warnings './dist/server.js'",
"watch": "tsc --project './tsconfig.build.json' --watch",
"db:seed": "pnpm build && node './dist/db/seed-database.js'",
"db:clear": "pnpm build && node './dist/db/seed-database.js -c'",
...