devil-db
v0.1.20
Published
A simple way to communicate with DevilDB CMS with a js REST library
Downloads
6
Readme
DevilDB
DevilDB is a content management system with rich API features. The database aims to offer an all in one service for web and app developers, from data delivery to search functionality. While at the same time, the aim is that data administrators will have an ability to access the data, filtering based on their requirements and than export the data if necessary. Our main focuses are content delivery speed and developer and data-admin experience.
The way the system works is you have dedicated tokens that can be used to perform CRUD operations. The access for each of those tokens can be set via your interface, in the settings option in the project page.
Install it
npm
npm install devil-db
import Devil from 'devil-db'
cdn
<script src="https://bagel.sfo2.cdn.digitaloceanspaces.com/devil-db/latest.min.js" type="text/javascript"/>
- Initialize your API
Every API token's access can be set indevidually, so you can rename your class instance
var devil = new Devil({apiKey: YOUR_API_KEY, organization: YOUR_ORGANIZATION_ID, project: PROJECT_ID})
var write = new Devil({apiKey: WRITE_ONLY_API,organization: YOUR_ORGANIZATION_ID, project: PROJECT_ID})
Read Data
read multiple items from a collection
devil.collection("articles").get()
Pagination
The system currently offers paginaiton out of the box, 100 items per page are set to be sent by default however this can be changed with the perPage()
method.
devil.collection("articles").perPage(50).get()
in order to fetch the next chunk of items in your just add the pageNumber()
method where the default value
devil.collection("articles").perPage(50).pageNumber(2).get()
Single Item
read a single item in a collection
devil.collection("articles").item("5e89a0a573c14625b8850a05").get()
Querying
devil.collection("articles").query("articleName:The fault in our stars").get()`
Search
The DevilDB system currently offers text search only for the primary field of a collection
devil.collection("articles").search("YOUR SEARCH TERM").get()
search today is being matched by a RegEx match
Write Data
devil.collection("articles").post({YOUR_OBJECT})
please note that your object must be structured according to your schema set in the database
devil.collection("articles").item("ITEM_ID").put({OBJECT_CHANGES})