NeDB

1、安装模块

  1. npm install nedb--save

2、使用

  1. // 加载模块
  2. constnedb=require('nedb');
  3. // 实例化连接对象(不带参数默认为内存数据库)
  4. constdb=newnedb({
  5. filename:'/data/save.db',
  6. autoload:true
  7. });
  8. // 插入单项
  9. db.insert({
  10. name:'tom'
  11. },(err,ret)=>{});
  12. // 插入多项
  13. db.insert(
  14. [
  15. {name:'tom'},
  16. {name:'jerry'}
  17. ]
  18. ,(err,ret)=>{});
  19. // 查询单项
  20. db.findOne({
  21. name:'tom'
  22. },(err,ret)=>{});
  23. // 查询多项
  24. db.find({
  25. name:{
  26. $in:['tom','jerry']
  27. }
  28. })
  29. .sort({
  30. _id:-1
  31. })
  32. .exec((err,ret)=>{});
  33. // 更新单项
  34. db.update({
  35. _id:'1'
  36. },{
  37. $set:{
  38. name:'kitty'
  39. }
  40. },(err,ret)=>{});
  41. // 更新多项
  42. db.update({},{
  43. $set:{
  44. name:'kitty'
  45. }
  46. },{
  47. multi:true
  48. },(err,ret)=>{});
  49. // 删除单项
  50. db.remove({
  51. _id:'1'
  52. },(err,ret)=>{})
  53. // 删除多项
  54. db.remove({
  55. name:'kitty'
  56. },{
  57. multi:true
  58. },(err,ret)=>{});

通过对比,嵌入式数据库在使用上的优势一目了然,无需任何数据库服务器,也不用安装、配置、启动一个数据库服务,而且 NeDB 的 API 抽取了 MongoDB 常用的一些接口,在用法上大同小异,性能也不错。如果项目使用 Node 实现,并且存储数据量不大,又熟悉 MongoDB 语法,那么,NeDB 就值得一用。详细用法请参照官方文档或下方中文翻译文档。

注:对于习惯了关系型数据库的开发人员来说,有些术语以及坑需要重申一下:

1、“ 表” 对应“ 集合 (collection)”,“ 行” 对应“ 文档(document)”,一个 database 中可以有多个 collection,一个 collection 中又可以有多个 document;

2、NeDB 默认 utf-8 编码;

3、严格区分大小写,比如查询 db.find({“name”:”tom”}) 和 db.find({“Name”:”tom”}) 并不是用的同一字段做的条件;

如果您在使用过程中遇到其他问题,可以留言,我们一起补充。