Integrations
Nuxt.js
Setup
- Install BagelDB-Nuxt in your project
npm i @bageldb/bageldb-nuxt
1
yarn add @bageldb/bageldb-nuxt
1
pnpm add @bageldb/bageldb-nuxt
1
- Add Module to nuxtConfig.js
modules: [
[
'@bageldb/bageldb-nuxt',
{ token: process.env.NUXT_ENV_BAGEL_TOKEN, alias: "db"}]
],
1
2
3
4
5
2
3
4
5
The default alias is $bageldb
but can be set easily in the import. Two instances can be used in one project, but they must have different instances.
Use It
The db instance can be accessed globally anywhere in the code
retreive it via the context:
export default {
async asyncData({ $db }) {
let { data: books } = await $db.collection('books').get();
return { books };
},
};
1
2
3
4
5
6
2
3
4
5
6
if you call the instance via the fetch()
method, use this
before calling it
export default {
async fetch() {
let { data: books } = await this.$db.collection('books').get();
return { books };
},
};
1
2
3
4
5
6
2
3
4
5
6
Authentication
Using Auth with Nuxt.js works the same as evey BagelDB js framework, by using the users()
method.
export default {
methods: {
async login(email, password) {
await this.$db.users().validate(email, password);
},
async logout() {
await this.$db.users().logout();
},
async signUp(email, password, userName) {
let userID = await this.$db
.users()
.create(email, password)
.catch((err) => console.log(err));
// create an item with the user's id to store more information about the user.
await this.$db.collection('users').item(userID).set({ email, userName });
},
},
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
every call made after that will use the Auth token stored in the cookie.