JavaScript里那些数据库到底是啥,怎么用又有哪些值得了解的东西
- 问答
- 2026-01-24 14:00:33
- 3
在JavaScript的世界里,数据库就是用来存东西的地方,就像你家里的柜子放衣服一样,但这里存的是数据,比如用户信息、文章内容或者设置选项,JavaScript主要在两个地方跑:一个是浏览器,比如Chrome或Firefox;另一个是服务器,通常用Node.js,不同地方用的数据库不一样,用法也各有特点。
先说说浏览器里的数据库,浏览器让你能在用户电脑上存点数据,不用每次都从服务器拿,最简单的就是Web Storage,包括localStorage和sessionStorage,根据MDN Web Docs,这俩就像小本子,用键值对存数据,只能存字符串,localStorage关掉浏览器还在,sessionStorage一关就没了,用法很简单:用localStorage.setItem('key', 'value')存,用localStorage.getItem('key')取,但别存太多,一般最多5MB左右,值得了解的是,它适合存简单设置,比如主题颜色,但别存敏感信息,因为不安全。

如果数据复杂点,比如要存带结构的对象,可以用IndexedDB,根据MDN Web Docs,IndexedDB是个浏览器里的数据库,能存大量数据,还支持事务和查询,用法稍麻烦点:先打开数据库,创建对象仓库(类似表格),然后通过事务来增删改查,代码例子:用indexedDB.open('myDB')打开,然后在回调里操作,值得了解的是,IndexedDB操作是异步的,不会卡住页面,但代码容易写成回调地狱,所以常用Promise包装一下,它适合做离线应用,比如网页游戏存进度。
还有个老技术叫Web SQL Database,但根据W3C标准,它已经废弃了,因为基于SQLite,但标准不统一,不过你可能会在旧代码里看到,知道就行,别在新项目用。

转到服务器端,Node.js里用数据库就丰富多了,这里数据库分两大类:关系型数据库和NoSQL数据库,关系型数据库,比如MySQL或PostgreSQL,数据像表格一样整齐,用SQL语言操作,根据Node.js官方文档,你得先装个驱动包,比如mysql2或pg,然后连上数据库,发SQL语句查询,用法例子:用mysql2包,配置连接信息,用query方法执行SQL,值得了解的是,这些操作也是异步的,现在常用async/await来写,更清晰,但直接写SQL容易出错,比如SQL注入攻击,所以很多人用工具帮忙。
NoSQL数据库更灵活,比如MongoDB,数据存成JSON样子,和JavaScript很配,根据MongoDB官方文档,用法是通过Mongoose这样的库来操作,先定义数据模型,然后像操作对象一样存数据,例子:用mongoose.connect()连数据库,定义Schema和Model,用Model.save()存数据,值得了解的是,MongoDB适合数据变化多的场景,比如用户生成内容,但别指望它像关系数据库那样严格,Redis也是个常用NoSQL,根据Redis文档,它主要存内存里,速度快,常做缓存,比如存会话数据。
怎么用这些数据库?在浏览器端,直接用JavaScript API,但注意兼容性,比如IndexedDB在旧浏览器可能不行,在服务器端,先通过npm安装包,然后在代码里引入、连接、操作,通用的是,操作数据库大多是异步的,因为JavaScript是单线程,异步能避免阻塞,早期用回调函数,后来用Promise,现在常用async/await,让代码看起来像同步一样,值得了解的是,错误处理很重要,比如连接失败或查询出错,要用try-catch包起来。
还有一些值得了解的东西,一是数据安全:在浏览器里,别存密码等敏感数据;在服务器,防注入攻击,比如用参数化查询或ORM工具,ORM工具像Sequelize for SQL或Mongoose for MongoDB,它们把数据库操作包装成对象方法,让代码更易读,但根据Sequelize文档,这可能会有点性能开销,适合中小项目,二是性能:数据库操作慢会影响整体速度,所以常用技巧如索引(让查询更快)、缓存(用Redis存热点数据),三是现代工具:比如Firebase,根据Google文档,它是个后端服务,自带数据库,用JavaScript SDK直接操作,适合快速开发;还有Prisma,根据其官网,它是一个数据库工具,能自动生成查询代码,减少错误。
选数据库要看场景,小数据、简单存,用Web Storage;复杂点、离线用,选IndexedDB;服务器端,要严格结构用关系数据库,要灵活用MongoDB,学习时,多动手写demo,遇到问题查官方文档或社区,数据库是核心,但JavaScript生态变化快,保持更新很重要。

本文由称怜于2026-01-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/85124.html
