Skip to content

Ishni Boshlash ​

Ombor - bu Firebase uslubidagi, offalyn, mahalliy ma'lumotlar bazasi.

Ombor sizga Firebase uslubidagi sodda, kuchli, foydalanuvchi brauzerida saqlanadigan, IndexedDB ma'lumotlar bazasida ishlashni osonlashtiradigan offlayn ma'lumotlar bazasini taqdim etadi.

Asosiy tushunchalar ​

  • Ma'lumotlar bazalarida collectionlar mavjud (misol: foydalanuvchilar)
  • Collectionlarda documentlar mavjud (misol: { id: 1, ism: 'Otabek', yosh: 19 })

Ombor LocalForage yordamida tuzilgan.

O'rnatish ​

NPM bilan ​

bash
npm install ombor

Yarn bilan ​

bash
yarn add ombor

PNPM bilan ​

bash
pnpm add ombor

Ishlatish ​

Oddiy misol ​

javascript
import Ombor from 'ombor'

// Ma'lumotlar bazasini yaratish
let db = new Ombor('mening-db')

// Document qo'shish
db.collection('foydalanuvchilar').add({
  id: 1,
  ism: 'Otabek',
  yosh: 19
})

// Ma'lumotlarni olish
db.collection('foydalanuvchilar').get().then(foydalanuvchilar => {
  console.log(foydalanuvchilar)
  // [{ id: 1, ism: 'Otabek', yosh: 19 }]
})

TypeScript bilan ​

typescript
import Ombor from 'ombor'

interface Foydalanuvchi {
  id: number
  ism: string
  yosh: number
}

const db = new Ombor('mening-db')

// Type-safe qo'shish
await db.collection('foydalanuvchilar').add<Foydalanuvchi>({
  id: 1,
  ism: 'Otabek',
  yosh: 19
})

// Type-safe olish
const foydalanuvchilar = await db
  .collection('foydalanuvchilar')
  .get<Foydalanuvchi>()

NuxtJS bilan ​

1. Plugin yaratish ​

javascript
// plugins/ombor.js
import Ombor from 'ombor'

export default defineNuxtPlugin(() => {
  const db = new Ombor('nuxt-db')
  
  return {
    provide: {
      db
    }
  }
})

2. Nuxt config ​

javascript
// nuxt.config.js
export default defineNuxtConfig({
  plugins: [
    { src: '~/plugins/ombor', mode: 'client' }
  ]
})

3. Componentda ishlatish ​

vue
<template>
  <div>
    <h1>Foydalanuvchilar</h1>
    <ul>
      <li v-for="user in users" :key="user.id">
        {{ user.ism }} - {{ user.yosh }}
      </li>
    </ul>
  </div>
</template>

<script setup>
const { $db } = useNuxtApp()
const users = ref([])

onMounted(async () => {
  // Ma'lumot qo'shish
  await $db.collection('foydalanuvchilar').add({
    id: 1,
    ism: 'Otabek',
    yosh: 19
  })
  
  // Ma'lumotlarni olish
  users.value = await $db.collection('foydalanuvchilar').get()
})
</script>

Vue 3 bilan ​

vue
<template>
  <div>
    <button @click="addUser">Foydalanuvchi qo'shish</button>
    <button @click="loadUsers">Yuklash</button>
    <ul>
      <li v-for="user in users" :key="user.id">
        {{ user.ism }} - {{ user.yosh }}
      </li>
    </ul>
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import Ombor from 'ombor'

const db = new Ombor('vue-db')
const users = ref([])

const addUser = async () => {
  await db.collection('foydalanuvchilar').add({
    id: Date.now(),
    ism: 'Yangi foydalanuvchi',
    yosh: 25
  })
  await loadUsers()
}

const loadUsers = async () => {
  users.value = await db.collection('foydalanuvchilar').get()
}

onMounted(loadUsers)
</script>

Keyingi qadam ​

Endi siz Omborni ishlatishga tayyorsiz! Quyidagi bo'limlarni o'qib chiqing: