编辑MongoDB:使用VSCode编辑数据库
此文章发布于 2024/06/22,部分内容可能已经过时,请谨慎甄别。
前言
众所周知,Twikoo(Vercel部署方式)一直有一个痛点,就是它的数据库是采用MongoDB进行存储的,而MongoDB官方并没有提供网页端编辑数据库的页面,而Twikoo提供的评论管理面板又功能简陋,这就导致一旦迁移了框架,文章URL结构变动,之前旧框架的评论数据就无法显示。
例如,我之前使用的是Gridea,它的URL结构是:
https://blog.365sites.top/post/[自定义的文章URL]/
而NotionNext的URL结构是:
https://blog.365sites.top/article/[自定义的文章URL]
前面的“article”还好办,因为NotionNext给出了相关配置:
// 文章URL前缀
POST_URL_PREFIX: process.env.NEXT_PUBLIC_POST_URL_PREFIX ?? 'article',
// POST类型文章的默认路径前缀,例如默认POST类型的路径是 /article/[slug]
// 如果此项配置为空, 则文章将没有前缀路径
但关键是Gridea后面还有一个“/”
所以就这一符号之差,导致Twikoo在NotionNext中会给旧文章创建个新的空白评论区,导致旧的评论区数据被作废。
解决思路
还记得MongoDB的连接字符串吗?不记得的同学可以再看一看Twikoo的MongoDB文档。
Twikoo的云函数就是通过这个东西连接到我们的数据库,然后对评论和配置进行增删改操作的。那我们能不能也通过这玩意去动我们的数据库呢?答案是肯定的。
动手操作
第一步,获取连接字符串
首先访问云函数的环境变量面板,找到很久以前配置过的这玩意:
点击Edit
然后Value这一部分就是我们的连接字符串啦!(其实熟练的同学这一步都不需要我教)复制下来并妥善保存。
⚠️安全警告
不要将您的字符串泄露给他人,否则您的数据库有被篡改的风险!
第二步,安装扩展
MongoDB官方提供了扩展来帮助你连接和访问数据库。
需要注意的是,从这一步开始,就必须要在已安装VSCode的电脑上进行。
如果你没有VSCode,你可以去它的官网或微软商店下载:
微软商店
打开VSCode,点击扩展图标,搜索“MongoDB for VS Code”
点击”Install“安装此扩展。
如果安装时提示:
选择”Trust Workspace & Install“(信任并安装)。
第三步,连接数据库
安装完成后,打开MongoDB扩展,我们会看到有两种连接方式:
我们选择”Connect with Connection String”(使用连接字符串连接),然后在弹出的框中输入连接字符串(即刚刚保存的那个)
Enter以确定,等待完成连接
连接成功后就会在左侧显示出数据库的内容
在“Test”库中,有两个文件夹
其中comment为评论数据,config为存储的用户密码(加密后的密文)和配置文件。
开始编辑吧!(编辑后Ctrl+S即可保存到数据库)