Custom Plugin তৈরি এবং ব্যবহারের উদাহরণ

PouchDB এর Plugin এবং Extension - পাউচডিবি (PouchDB) - Database Tutorials

296

PouchDB একটি ক্লায়েন্ট-সাইড ডেটাবেস লাইব্রেরি যা ব্রাউজারে ডেটা সংরক্ষণ এবং সিঙ্ক্রোনাইজ করার জন্য ব্যবহৃত হয়। এটি সাধারণত CouchDB-এর সঙ্গে ইন্টিগ্রেট করা হয় এবং অফলাইন সক্ষম অ্যাপ্লিকেশন তৈরিতে সহায়ক। PouchDB-এর একটি অত্যন্ত শক্তিশালী বৈশিষ্ট্য হল এর Find Plugin যা আপনাকে ডেটাবেসে দ্রুত এবং কার্যকরীভাবে কুয়েরি চালানোর অনুমতি দেয়।

এখানে আমরা PouchDB Find Plugin ব্যবহার করে কাস্টম প্লাগইন তৈরি করার একটি উদাহরণ দেখাব।


PouchDB Find Plugin ইনস্টলেশন

প্রথমে, আপনাকে PouchDB Find Plugin ইনস্টল করতে হবে। এটি আপনি npm (Node Package Manager) ব্যবহার করে ইনস্টল করতে পারেন।

npm install pouchdb-find

পরে, আপনি এটি আপনার প্যাকেজে অন্তর্ভুক্ত করতে পারেন:

const PouchDB = require('pouchdb');
PouchDB.plugin(require('pouchdb-find'));

কাস্টম Find Plugin তৈরি

PouchDB Find Plugin-এর সাহায্যে আপনি কাস্টম কুয়েরি তৈরি করতে পারেন। এখানে একটি উদাহরণ দেওয়া হলো যেখানে কাস্টম ফিল্টার ব্যবহার করে ডেটাবেসে ডেটা অনুসন্ধান করা হবে।

ধরা যাক, আমাদের কাছে users নামে একটি ডেটাবেস রয়েছে, এবং এর মধ্যে ব্যবহারকারীদের তথ্য যেমন নাম, বয়স, এবং শহর রয়েছে। আমরা এই ডেটাবেসে কাস্টম কুয়েরি তৈরি করব যা ব্যবহারকারীদের নাম এবং বয়সের উপর ভিত্তি করে ফলাফল প্রদান করবে।

1. ডেটাবেস তৈরি এবং ডেটা ইনসার্ট করা

// PouchDB ডেটাবেস তৈরি করা
const db = new PouchDB('users');

// কিছু ব্যবহারকারীর ডেটা ইনসার্ট করা
const users = [
  { _id: 'user1', name: 'John Doe', age: 28, city: 'New York' },
  { _id: 'user2', name: 'Jane Doe', age: 32, city: 'Los Angeles' },
  { _id: 'user3', name: 'Sam Smith', age: 22, city: 'Chicago' },
  { _id: 'user4', name: 'Anna Lee', age: 30, city: 'San Francisco' }
];

// ডেটা ডেটাবেসে সেভ করা
db.bulkDocs(users).then(response => {
  console.log('Data inserted:', response);
}).catch(err => {
  console.log('Error inserting data:', err);
});

2. কাস্টম কুয়েরি তৈরি করা

PouchDB Find Plugin ব্যবহার করে কাস্টম কুয়েরি তৈরি করা যায়। উদাহরণস্বরূপ, আমরা চাই যে নামের মধ্যে 'Doe' থাকা এবং বয়স 30 এর কম এমন ব্যবহারকারীদের তথ্য বের করব।

// কাস্টম কুয়েরি তৈরি করা
db.find({
  selector: {
    name: { $regex: /Doe/ },  // 'Doe' নামটি যাদের আছে
    age: { $lt: 30 }           // বয়স 30 এর কম
  },
  fields: ['_id', 'name', 'age', 'city']  // কেবল কিছু ফিল্ড বের করা
}).then(result => {
  console.log('Query Results:', result.docs);
}).catch(err => {
  console.log('Error executing query:', err);
});

এই কুয়েরি কেবল তাদের ফলাফল ফেরত দিবে যাদের নামের মধ্যে 'Doe' রয়েছে এবং বয়স 30 এর কম।


কাস্টম কুয়েরি অপারেশন যুক্ত করা

যদি আপনি আরও উন্নত কাস্টম কুয়েরি অপারেশন যেমন অপারেটর ব্যবহার করতে চান, তাহলে PouchDB Find Plugin আপনাকে $gt (বড়), $lt (ছোট), $eq (সমান), $in (একাধিক মানের মধ্যে), এবং $exists (মৌজুদ আছে কি না) এর মতো অপারেটরগুলি ব্যবহার করতে দেয়।

উদাহরণ ১: বয়স 25 থেকে 30 এর মধ্যে

db.find({
  selector: {
    age: { $gte: 25, $lte: 30 }
  }
}).then(result => {
  console.log('Users between 25 and 30 years old:', result.docs);
});

উদাহরণ ২: একাধিক শহর

db.find({
  selector: {
    city: { $in: ['New York', 'San Francisco'] }
  }
}).then(result => {
  console.log('Users in New York or San Francisco:', result.docs);
});

কাস্টম ইনডেক্স তৈরি করা

PouchDB Find Plugin-এর আরেকটি শক্তিশালী বৈশিষ্ট্য হল ইনডেক্স তৈরি করা। ইনডেক্স ব্যবহার করে আপনি কুয়েরির পারফরম্যান্স উন্নত করতে পারেন।

// নাম এবং বয়সের উপর ইনডেক্স তৈরি করা
db.createIndex({
  index: { fields: ['name', 'age'] }
}).then(result => {
  console.log('Index created:', result);
}).catch(err => {
  console.log('Error creating index:', err);
});

এখন আপনি ইনডেক্স ব্যবহার করে আরও দ্রুত কুয়েরি চালাতে পারবেন।


সারাংশ

  • PouchDB Find Plugin একটি শক্তিশালী টুল যা আপনাকে ডেটাবেসে দ্রুত কুয়েরি করতে সহায়তা করে।
  • কাস্টম কুয়েরি তৈরি করার জন্য find() মেথড ব্যবহার করা হয়, যা বিভিন্ন অপারেটর এবং সিলেক্টর সহ কাস্টম ডেটা অনুসন্ধান করতে সক্ষম।
  • কাস্টম ইনডেক্স তৈরি করে কুয়েরি পারফরম্যান্স উন্নত করা যায়।
  • কাস্টম প্লাগইন তৈরি করার মাধ্যমে আপনি PouchDB-এর কার্যকারিতা আরও বাড়াতে পারেন, যেমন ডেটা ফিল্টারিং, অগ্রাধিকার এবং কাস্টম অপারেশন।

এটি কেবল একটি প্রাথমিক উদাহরণ ছিল, আপনি PouchDB Find Plugin ব্যবহার করে আরও জটিল কুয়েরি এবং কাস্টম ফিচার তৈরি করতে পারেন যা আপনার প্রকল্পের প্রয়োজন অনুযায়ী।

Content added By
Promotion

Are you sure to start over?

Loading...