ourdb
v0.0.1
Published
A Database Library
Downloads
2
Readme
باستخدام npm | Using npm
npm install ourdb
باستخدام yarn | Using yarn
yarn add ourdb
باستخدام pnpm | Using pnpm
pnpm add ourdb
## 🚀 البدء السريع | Quick Start
```javascript
const { Database } = require('ourdb');
// إنشاء قاعدة بيانات | Create a database
const db = new Database('mydb');
// إنشاء مجموعة | Create a collection
const users = db.createCollection('users');
// إدخال بيانات | Insert data
const userId = users.insert({
name: 'Ahmed',
age: 30,
email: 'ahmed@example.com'
});
// استعلام عن البيانات | Query data
const user = users.findOne({ name: 'Ahmed' });
console.log(user);
⚙️ المميزات | Features
- 🔒 دعم المعاملات | Transaction Support
- 📃 التحقق من صحة البيانات | Schema Validation
- 🔍 الفهرسة للبحث السريع | Indexing for Fast Queries
- 💾 تخزين مؤقت ذكي | Smart Caching
- 📦 نسخ احتياطي واستعادة | Backup & Restore
- 🔄 استيراد/تصدير JSON | JSON Import/Export
📚 التوثيق المتقدم | Advanced Documentation
التحقق من صحة البيانات | Schema Validation
const userSchema = {
name: {
type: 'string',
required: true,
minLength: 2
},
age: {
type: 'number',
min: 0,
max: 120
},
email: {
type: 'string',
pattern: /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/
}
};
const users = db.createCollection('users', userSchema);
المعاملات | Transactions
const transaction = db.beginTransaction();
try {
// تحويل الأموال | Transfer money
users.update({ id: sender }, { $inc: { balance: -100 } });
users.update({ id: receiver }, { $inc: { balance: 100 } });
await transaction.commit();
} catch (error) {
await transaction.rollback();
console.error('فشلت العملية | Transaction failed:', error);
}
الفهرسة | Indexing
// فهرس بسيط | Simple index
users.createIndex('email');
// فهرس مركب | Compound index
users.createCompoundIndex(['name', 'age']);
التخزين المؤقت | Caching
const db = new Database('mydb', {
cache: {
maxSize: 1000, // الحد الأقصى للعناصر | Maximum items
maxAge: 300000 // مدة الصلاحية بالمللي ثانية | TTL in milliseconds
}
});
// الاستعلام سيستخدم التخزين المؤقت تلقائياً
// Query will automatically use cache
const user = users.findOne({ id: 123 });
🔧 الإعداد للتطوير | Development Setup
# استنساخ المستودع | Clone the repository
git clone https://github.com/yourusername/ourdb.git
# تثبيت التبعيات | Install dependencies
npm install
# تشغيل الاختبارات | Run tests
npm test