Datacsv
Data
base + csv
is very simple file based database for node.
It uses CSV file structure and locally creates manipulates files as real db would.
Features:
- create table
- clear (truncate) table
- get row/s
- add row/s
- edit row/s
- delete row/s
Motivation
I was in need of very simple database for creating a mock database and tought that CSV would actually do what I need. I can open csv files, edit them manually and with this package also do everything programmatically.
Installation
To install the stable version:
npm i --save datacsv
This assumes you are using npm as your package manager.
Documentation
Require package in the project.
const db = ;
And now we can initialise table/s.
- path: string (Location of csv file)
- headers: { [string]: string | Function }
Schema is entirely optional (required only if for example data needs custom transformation).
// `age` will be saved and treated as number in databaseconst headers = name: String email: String age: Number const users = await
add
Adding data to table.
- data: { [string]: any }[]
It will automatically add id
field.
Returns added rows.
await users/* [ { id: 'h4HNOfnLp', * name: 'John', * email: 'john.doe@localhost', * age: 21 } ] */
get
To get all existing fields from table.
- filter?: { [string]: any }
If no filter provided, it will return all rows from table.
await users/* [ { id: 'h4HNOfnLp', * name: 'John', * email: 'john.doe@localhost', * age: 21 } ] */
edit
To edit data in table.
- filter: { [string]: any }
- data: { [string]: any }
If no filter provided, it will update all rows in table. Returns edited rows.
await users/* [ { id: 'h4HNOfnLp', * name: 'Jane', * email: 'jane.doe@localhost', * age: 21 } ] */
delete
To delete data from table.
- filter?: { [string]: any }
If no filter provided, it will update all rows in table. Returns deleted rows.
await users/* [ { id: 'h4HNOfnLp', * name: 'Jane', * email: 'jane.doe@localhost', * age: 21 } ] */
Stay In Touch
License
Copyright (c) 2019-present, Marcis (Marcisbee) Bergmanis