node-blog/db/init.js
2025-06-24 11:42:12 +08:00

112 lines
3.8 KiB
JavaScript

const mongoose = require('mongoose');
const Post = require('../models/Post');
const Link = require('../models/Link');
// 连接数据库
mongoose.connect('mongodb://127.0.0.1:27017/blog', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => {
console.log('数据库连接成功');
initData();
})
.catch(err => {
console.error('数据库连接失败:', err);
process.exit(1);
});
async function initData() {
try {
// 清空现有数据
await Post.deleteMany({});
await Link.deleteMany({});
// 添加测试博客文章
const posts = [
{
title: '欢迎来到我的博客',
content: '这是我的第一篇博客文章。在这里,我将分享我的技术心得、学习笔记和生活感悟。希望这个博客能够成为我们交流的平台,也希望能够通过写作来提升自己的表达能力。',
author: '陈立龙',
category: '随笔'
},
{
title: 'JavaScript 异步编程详解',
content: 'JavaScript 的异步编程是前端开发中的重要概念。本文将详细介绍 Promise、async/await 和回调函数的使用方法,以及它们之间的区别和最佳实践。通过实际的代码示例,帮助读者更好地理解异步编程的核心概念。',
author: '陈立龙',
category: '技术'
},
{
title: 'Node.js 开发环境搭建',
content: 'Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。本文将详细介绍如何在 Windows、Mac 和 Linux 系统上搭建 Node.js 开发环境,包括安装 Node.js、配置 npm 镜像源、安装常用开发工具等步骤。',
author: '陈立龙',
category: '教程'
},
{
title: 'MongoDB 数据库操作指南',
content: 'MongoDB 是一个基于分布式文件存储的数据库。本文将介绍 MongoDB 的基本概念、安装配置、常用操作命令,以及在 Node.js 中使用 Mongoose 进行数据库操作的方法。',
author: '陈立龙',
category: '数据库'
},
{
title: '前端开发工具推荐',
content: '工欲善其事,必先利其器。本文将推荐一些前端开发中常用的工具,包括代码编辑器、浏览器开发者工具、包管理器、构建工具等,帮助开发者提高开发效率。',
author: '陈立龙',
category: '工具'
}
];
// 添加测试友情链接
const links = [
{
name: 'GitHub',
url: 'https://github.com',
description: '全球最大的代码托管平台',
order: 1
},
{
name: 'Stack Overflow',
url: 'https://stackoverflow.com',
description: '程序员问答社区',
order: 2
},
{
name: 'MDN Web Docs',
url: 'https://developer.mozilla.org',
description: 'Web开发技术文档',
order: 3
},
{
name: 'W3Schools',
url: 'https://www.w3schools.com',
description: 'Web技术学习网站',
order: 4
},
{
name: 'CSS-Tricks',
url: 'https://css-tricks.com',
description: 'CSS技巧和教程',
order: 5
},
{
name: 'JavaScript.info',
url: 'https://javascript.info',
description: '现代JavaScript教程',
order: 6
}
];
// 插入数据
await Post.insertMany(posts);
await Link.insertMany(links);
console.log('测试数据初始化完成!');
console.log(`添加了 ${posts.length} 篇博客文章`);
console.log(`添加了 ${links.length} 个友情链接`);
mongoose.connection.close();
} catch (error) {
console.error('初始化数据失败:', error);
mongoose.connection.close();
}
}