jovo-db-filedb
TypeScript icon, indicating that this package has built-in type declarations

3.6.1 • Public • Published

FileDB Local JSON Database Integration

To view this page on the Jovo website, visit https://v3.jovo.tech/marketplace/jovo-db-filedb

Learn more about the default database for prototyping with Jovo: A file based system that stores user specific data to a JSON file.

Introduction

Note: This database type is not supposed to be used in production. See other database integrations for options when the app is live.

The FileDB integration allows you to easily store user session data in a JSON file. This is especially helpful for local development and prototyping. Data will be stored to a db.json file that can be found in a db folder:

db/
  └── db.json
models/
src/
project.js

This is an example how the file structure looks like, with the userID as a mainKey and some persisted data with someKey and someValue, which can be added with this.$user.$data.someKey = 'someValue';:

// Example for Amazon Alexa
[
	{
		"userId": "amzn1.ask.account.[some_user_id]",
		"userData": {
			"data": {
				"someKey": "someValue"
			},
			"metaData": {
				"createdAt": "2017-11-13T13:46:37.421Z",
				"lastUsedAt": "2017-11-13T14:12:05.738Z",
				"sessionsCount": 9
			}
		}
	}
]

Configuration

Most Jovo templates come with FileDB as default database integration.

It can be enabled in the src/app.js file like this:

// @language=javascript

// src/app.js

const { FileDb } = require('jovo-db-filedb');

// Enable DB after app initialization
app.use(new FileDb());

// @language=typescript

// src/app.ts

import { FileDb } from 'jovo-db-filedb';

// Enable DB after app initialization
app.use(new FileDb());

In your config.js file, you can set the db configuration like this:

// @language=javascript

// src/config.js

module.exports = {
    
    db: {
		FileDb: {
			pathToFile: '../db/db.json',
		},
	},

    // ...

};

// @language=typescript

// src/config.ts

const config = {
    
    db: {
		FileDb: {
			pathToFile: '../db/db.json',
		},
	},

    // ...

};

Once the configuration is done, the File DB database integration will create a file in the specified folder (eg. ../db/db.json) on the first read/write attempt. No need for you to create the file.

Readme

Keywords

none

Package Sidebar

Install

npm i jovo-db-filedb

Weekly Downloads

169

Version

3.6.1

License

Apache-2.0

Unpacked Size

39.8 kB

Total Files

13

Last publish

Collaborators

  • jovotech