snippets_js
Integration
New integration from credential
const couchdb = await yepcode.integration.couchdb('credential-slug')
New integration from plain authentication data
const couchdb = require("nano")({
url: "url"
});
await couchdb.auth("username", "password");
// You should use a yepcode env variable to don't store plain password
// See: https://docs.yepcode.io/docs/processes/team-variables
Create a Database
Create a database
await couchdb.db.create("database-name")
.then(() => console.log(`Database created!`))
.catch(console.error);
Insert a Document
Insert a document
const sampleDocument = { foo: 'bar' };
await couchdb.use("database-name").insert(sampleDocument)
.then((result) => console.log(`Document inserted! ID: ${result.id}`))
.catch(console.error);
Get a Document
Get a document
await couchdb.use("database-name").get("document-id")
.then((result) => console.log(result))
.catch(console.error);
Find Documents
Find documents
// See available options at: https://docs.couchdb.org/en/latest/api/database/find.html#db-find
const query = {
selector: {
name: "John Doe",
age: { $gte: 18 },
},
};
await couchdb.use("database-name").find(query);
.then((result) => {
result.docs.forEach((doc) => {
console.log(doc);
});
})
.catch(console.error);
List all Documents
List all documents
await couchdb.use("database-name").list()
.then((result) => {
console.log(`Showing ${result.total_rows} documents`)
result.rows.forEach((row) => {
console.log(row);
});
})
.catch(console.error);
Delete a Document
Delete a document
await couchdb.use("database-name").destroy("document-id", "document-rev")
.then(() => console.log(`Document deleted!`))
.catch(console.error);
Delete a Database
Delete a database
await couchdb.db.destroy("database-name")
.then(() => console.log(`Database deleted!`))
.catch(console.error);