The distributed serverless database combining the flexibility of NoSQL with the relational querying capabilities of SQL systems.
Emit new event each time you add or remove a document from a specific collection, with the details of the document.
Continue workflow execution only if a condition is met
Performs an arbitrary authorized GraphQL query. See docs here
Reads all documents from a given Fauna collection. See docs here
module.exports = defineComponent({
props: {
faunadb: {
type: "app",
app: "faunadb",
}
},
async run({steps, $}) {
const faunadb = require('faunadb')
const q = faunadb.query
const client = new faunadb.Client({ secret: this.faunadb.$auth.secret })
// Lists collections in the database tied to your secret key
const collectionsPaginator = await client.paginate(q.Collections())
this.collections = []
await collectionsPaginator.each(page => {
for (const collection of page) {
this.collections.push(collection.id)
}
})
},
})
The Filter API is a great way to build powerful workflows that can manipulate
and transform data. Here are some examples of what you can build using the
Filter API:
export default defineComponent({
async run({ steps, $ }) {
let condition = false
if (condition == false) {
$.flow.exit("Ending workflow early because the condition is false")
} else {
$.export("$summary", "Continuing workflow, since condition for ending was not met.")
}
},
})