📅  最后修改于: 2023-12-03 15:00:21.710000             🧑  作者: Mango
Nedb 是一个使用 JavaScript 编写的嵌入式数据库,它模仿了 MongoDB 的API,但不需要运行 MongoDB。
Nedb 支持 Node.js 和浏览器环境,可以使用多种方式存储数据,例如内存、磁盘文件和浏览器本地存储等,使用方便灵活。
使用 npm 安装 Nedb:
npm install nedb --save
首先,需要先导入 Nedb 模块:
const Nedb = require('nedb');
然后,创建一个数据库实例:
const database = new Nedb({
filename: 'path/to/database.db', // 数据库存储位置
autoload: true // 自动加载数据库
});
创建一个表并插入数据:
const users = new Nedb();
users.insert({ name: 'John', age: 25 });
users.insert({ name: 'Sarah', age: 30 });
查询数据:
users.findOne({ name: 'John' }, function(err, user) {
console.log(user); // 输出 { name: 'John', age: 25 }
});
更新数据:
users.update({ name: 'John' }, { $set: { age: 26 } }, {}, function(err, numReplaced) {
console.log(numReplaced); // 输出 1
});
删除数据:
users.remove({ name: 'Sarah' }, {}, function(err, numRemoved) {
console.log(numRemoved); // 输出 1
});
除了以上基本使用方法,Nedb 还支持更多复杂查询、索引、排序、分页等功能。
为了方便使用,可以将 Nedb 进行简单封装:
class Database {
constructor(filename) {
this.db = new Nedb({ filename, autoload: true });
}
insert(data, callback) {
this.db.insert(data, callback);
}
find(query, callback) {
this.db.find(query, callback);
}
update(query, data, options, callback) {
this.db.update(query, data, options, callback);
}
remove(query, options, callback) {
this.db.remove(query, options, callback);
}
}
const users = new Database('path/to/users.db');
users.insert({ name: 'John', age: 25 });
users.find({ age: { $gte: 30 } }, function(err, users) {
console.log(users);
});
以上代码实现了对 Nedb 的简单封装,使得数据库操作更加便捷。
Nedb 是一个轻量级、易用的嵌入式数据库,它与 MongoDB 相似,但不依赖于 MongoDB。在开发小型应用、原型开发等场景下,Nedb 是一个不错的选择。