MongoDB Compass直接导入


导入数据
mongoimport -d <数据库名字> -c <集合名字> --file <需要导入的数据路径>
执行代码
const mongoose = require('mongoose')
const colors = require('colors')
const dotenv = require('dotenv')
const fs = require('fs')
const Mscamp = require('./models/Mscamp.js')
const Course = require('./models/Course.js')
// 配置环境变量
dotenv.config({
path: "./config/config.env"
});
// 连接数据库
mongoose.connect('mongodb://localhost/api', {
useNewUrlParser: true,
useUnifiedTopology: true
})
// 读取本地json
const mscamps = JSON.parse(
fs.readFileSync(`${__dirname}/_data/mscamps.json`, "utf-8"))
const courses = JSON.parse(
fs.readFileSync(`${__dirname}/_data/courses.json`, "utf-8"));
// 导入数据到mongodb数据库
const importData = async () => {
try {
await Mscamp.create(mscamps);
await Course.create(courses);
console.log("数据存储成功".green.inverse);
process.exit();
} catch (error) {
console.log(error);
}
};
// 删除数据库中的数据
const deleteData = async () => {
try {
await Mscamp.deleteMany();
await Course.deleteMany();
console.log("数据删除成功".red.inverse);
process.exit();
} catch (error) {
console.log(error);
}
};
//根据执行的命令 决定是存储还是删除 node seeder.js -i / -d
if (process.argv[2] == "-i") {
importData();
}
else if (process.argv[2] == "-d") {
deleteData();
}
process 对象是一个全局变量它提供当前 Node.js 进程的有关信息,以及控制当前 Node.js 进程无需使用 require()process.argv 属性返回一个数组,这个数组包含了启动Node.js进程时的命令行参数process.argv[0] 返回启动Node.js进程的可执行文件所在的绝对路径process.argv[1] 当前执行的JavaScript文件路径剩余的元素为其他命令行参数
本文介绍了如何使用MongoDB Compass和Node.js进行数据导入。通过`mongoimport`命令导入JSON数据到MongoDB,并展示了如何利用Node.js脚本读取本地数据并存储到数据库。同时,提供了删除数据库中数据的实现,整个过程结合了命令行参数处理,确保数据操作的灵活性。
926

被折叠的 条评论
为什么被折叠?



