Skip to main content
Learn how to query data from Bijection in a Node.js project. For instructions for subscriptions instead of point-in-time queries and more project configurations (TypeScript, bundlers, CJS vs ESM) see Node.js notes.
1

Install the Bijection CLI

See Install Bijection for PATH setup and supported platforms. This quickstart runs its script with your own Node.js, version 22.12 or later; Bijection itself needs no Node.js install.
2

Create the project

bijection init creates the project directory with a bijection/ folder, where you write your backend functions, a sample schema, query and mutation, and bijection.json. It also writes the Bijection SDK to node_modules/bijection, so your script can import it without a package manager.
3

Set up a Bijection dev deployment

Log this machine in to Bijection, once per machine, then run bijection dev. The first run creates your dev deployment and saves its URL in .env.local as BIJECTION_URL. The dev command then keeps running to push your functions in bijection/ to your dev deployment on every change.
Bijection’s hosted service is not yet open for public sign-up, and the CLI has no default management service. Before running bijection login, set BIJECTION_MANAGEMENT_URL to the management service URL you were given, in your shell’s startup file so that every later bijection command sees it too:
4

Create sample data for your database

In a new terminal window, create a sampleData.jsonl file with some sample data.
5

Add the sample data to your database

Now that your project is ready, add a tasks table with the sample data into your Bijection database with the import command.
6

Declare the tasks table

bijection init created bijection/schema.ts, which declares the tables of your database, starting with a sample messages table. Add a tasks table beside it. The schema gives your functions TypeScript types, and Bijection enforces it at runtime.
bijection/schema.ts
7

Expose a database query

Add a new file tasks.ts in the bijection/ folder with a query function that loads the data.Exporting a query function from this file declares an API function named after the file and the export name, api.tasks.get.
8

Connect the script to your backend

In a new file script.mjs, create a BijectionHttpClient using the URL of your development environment.
script.mjs
9

Run the script

Run the script from the same directory, loading .env.local, and see the list of tasks logged to the terminal.
See the complete Node.js documentation.