Couchbase Node.js Columnar Client
Node.js client for Couchbase Columnar
Installing the SDK
Install the SDK via npm
:
npm install couchbase-columnar
Installing the SDK from source
If a compatible prebuild is not available, the SDK's binary will need to be built from source:
- Follow the steps on the BUILDING page
- After the build succeeds, the SDK can be used by running Node scripts from within the cloned repository or the SDK can be installed via pip:
npm install <path to cloned repository>
Using the SDK
Some more examples are provided in the examples directory.
CommonJS
Connecting and executing a query
const columnar = require('couchbase-columnar')
async function main() {
const clusterConnStr = 'couchbases://--your-instance--'
const username = 'username'
const password = 'password'
const credential = new columnar.Credential(username, password)
const cluster = columnar.createInstance(clusterConnStr, credential)
let qs = 'SELECT * FROM `travel-sample`.inventory.airline LIMIT 10;'
let res = await cluster.executeQuery(qs)
for await (let row of res.rows()) {
console.log('Found row: ', row)
}
console.log('Metadata: ', res.metadata())
qs =
'SELECT * FROM `travel-sample`.inventory.airline WHERE country=$1 LIMIT $2;'
res = await cluster.executeQuery(qs, { parameters: ['United States', 10] })
for await (let row of res.rows()) {
console.log('Found row: ', row)
}
console.log('Metadata: ', res.metadata())
qs =
'SELECT * FROM `travel-sample`.inventory.airline WHERE country=$country LIMIT $limit;'
res = await cluster.executeQuery(qs, {
namedParameters: { country: 'United States', limit: 10 },
})
for await (let row of res.rows()) {
console.log('Found row: ', row)
}
console.log('Metadata: ', res.metadata())
}
main()
.then(() => {
console.log('Finished. Exiting app...')
})
.catch((err) => {
console.log('ERR: ', err)
console.log('Exiting app...')
process.exit(1)
})
ES Modules
Connecting and executing a query
import { Certificates, Credential, createInstance } from "couchbase-columnar"
async function main() {
const clusterConnStr = 'couchbases://--your-instance--'
const username = 'username'
const password = 'password'
const credential = new Credential(username, password)
const cluster = createInstance(clusterConnStr, credential)
let qs = "SELECT * FROM `travel-sample`.inventory.airline LIMIT 10;"
let res = await cluster.executeQuery(qs)
for await (let row of res.rows()) {
console.log("Found row: ", row)
}
console.log("Metadata: ", res.metadata())
qs =
"SELECT * FROM `travel-sample`.inventory.airline WHERE country=$1 LIMIT $2;"
res = await cluster.executeQuery(qs, { parameters: ["United States", 10] })
for await (let row of res.rows()) {
console.log("Found row: ", row)
}
console.log("Metadata: ", res.metadata())
qs =
"SELECT * FROM `travel-sample`.inventory.airline WHERE country=$country LIMIT $limit;"
res = await cluster.executeQuery(qs, {
namedParameters: { country: "United States", limit: 10 },
})
for await (let row of res.rows()) {
console.log("Found row: ", row)
}
console.log("Metadata: ", res.metadata())
}
main()
.then(() => {
console.log("Finished. Exiting app...")
})
.catch((err) => {
console.log("ERR: ", err)
console.log("Exiting app...")
process.exit(1)
})