@youmukonpaku/mudb
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

MuDB - A file-based database

一个以基于文件系统和JSON的的轻量级数据库,使用lowdb进行驱动。

使用示例:

  import path from 'path'
  import fs from 'fs'
  import Mudb from '@youmukonpaku/mudb'

  const dbPath = path.join(__dirname, 'db')
  const db = 'testDatabase'
  const col = 'testCollection'

  const Mu = new Mudb(dbPath)

  try {
    Mu.createDatabase(db)
  } catch (e) {
    console.log('Database already exist!')
  }

  Mu.useDatabase(db)

  try {
    Mu.createCollection(col)
  } catch (e) {
    console.log('Collection already exist!')
  }

  Mu.useCollection(col)

  Mu.addDocuments([{
    id: 1,
    name: 'testName',
    time: new Date().getTime()
  }])

  const res = Mu.getDocuments()

  console.log(res)

APIs:

  • 初始化数据库 new Mudb(dbPath: string)

    • 使用当前目录的db文件夹作为数据库存储空间。
    • new Mudb(path.join(__dirname, 'db'))
  • 新建数据库 Mu.createDatabase(dbname: string)

    • 新建testDb数据库。
    • Mu.createDatabase('testDb')
  • 切换数据库 Mu.useDatabase(dbname: string)

    • 将数据库切换为testDb。
    • Mu.useDatabase('testDb')
  • 新建集合 Mu.createCollection(collectionName: string, isAnyCollection?: boolean)

    • 新建testCol集合,第二个参数为集合类型,默认为对象集合。
    • Mu.createCollection('testCol')
  • 切换集合 Mu.useCollection(collectionName: string)

    • 将集合切换为testCol。
    • Mu.useCollection('testCol')
  • 新增记录 Mu.addDocuments(value: object[])

    • 向testCol文档中新增两条记录。
    • Mu.addDocuments([{id: 1, name: 'test'}, {id: 2, name: 'test'}])
  • 获取记录 Mu.getDocuments(filter?: object[])

    • 从testCol中获取记录。
    • const res = Mu.getDocuments()
  • 更新记录 Mu.updateDocuments(filter: object, assign: object)

    • 将testCol中{id: 1}的所有记录name字段更新为newName。
    • Mu.updateDocuments({id: 1}, {name: 'newName'})
  • 删除记录 Mu.removeDocuments(filter: object)

    • 将testCol中{id: 1}的所有记录删除。
    • Mu.removeDocuments({id: 1})

Package Sidebar

Install

npm i @youmukonpaku/mudb

Weekly Downloads

10

Version

1.1.1

License

MIT

Unpacked Size

23 kB

Total Files

16

Last publish

Collaborators

  • youmukonpaku