NotionDB is an object modelling tool designed to interface with Notion. It is a tool to allows developers to easily spin up a cloud-based database using Notion Databases. Notion Databases consist of a series of Notion Pages (database rows) with various Properties (database columns).
NotionDB leverages the official Notion API and provides developers with easy-to-use classes and helper functions to easily retrieve, write, update, and delete data.
- On top of the standard primitive types, Notion provides advanced types such as Dates with Time (start and end), People, URLs, Emails, Phone Numbers, Formulas, Relations, Rollups, and more.
- Notion provides great facilities for Filtering (compound and/or filtering and nested filtering) and multi-level Sorting. This makes querying and sorting through data seamless for developers.
- To visualize the data, the Notion user interface can display the database data in various views such as Table, Board, Timeline, Calendar, List, and Gallery views.
- Being able to access and write data to a Notion Database from a server-side environment opens up endless opportunities to interface Notion with other databases, services, and APIs.
The project is Open Source and can be viewed on GitHub & NPM.
- Get all Databases associated with an integration key.
- Get a single Database by Database ID or Database Notion URL.
- Create a Database using a Schema of Properties (column definitions).
- Get all Users from a Database.
- Get a single User by User ID.
- Get all Pages from a Database.
- Get a single Page by Page ID or Page Notion URL.
- Filter down and Sort Pages from a Database using Notion's powerful Filter and Sort tools.
- Create a Page (a database row) inside a Database.
- Delete a Page from a Database.
- Restore a deleted Page from a Database.
- Get all supported children Blocks from a Page.