112 lines
3.8 KiB
JavaScript
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();
|
|
}
|
|
}
|