Özel Koleksiyon
sdk.customCollection yardımcı fonksiyonu, MonoChat’in özel NoSQL tarzı koleksiyonlarıyla doğrudan Server SDK fonksiyonları içinde etkileşim kurmanızı sağlar. Tenant veya uygulama kapsamlı koleksiyonlarda belgeleri listeleyebilir, okuyabilir, oluşturabilir, güncelleyebilir ve silebilirsiniz; hepsi tutarlı bir API üzerinden.
API
await sdk.customCollection(name, { scope, slug })
Özel koleksiyon üzerinde CRUD işlemleri yapmak için asenkron yöntemlere sahip bir handler nesnesi döndürür.
⚠️ Bu fonksiyonun kendisi asenkron olduğundan, yöntemlerini çağırmadan önce koleksiyon handler’ını
awaitetmelisiniz.
| Method | Açıklama |
|---|---|
listAsync(options) | Sorgu seçeneklerini kullanarak belgeleri listeler. |
showAsync(_id) | ID ile tek bir belge getirir. |
createAsync(payload) | Yeni belge ekler. |
updateAsync(_id, payload) | ID ile belgeyi günceller. |
updateManyAsync(query, payload) | Sorguya uyan birden fazla belgeyi günceller. |
deleteAsync(_id) | ID ile belgeyi siler. |
findOneAsync(query, options) | Sorguya uyan tek belgeyi bulur. |
Parametreler
name(string): Erişilecek özel koleksiyonun adı.scope("app" | "tenant" | "global"): Opsiyonel. Varsayılan"app".slug(string): Opsiyonel. Hedef tenant slug. Varsayılan mevcut tenant.
Örnek
const Properties = await sdk.customCollection('properties')
const { datas: properties, options } = await Properties.listAsync({
filtering: { status: 'active' },
pagination: { currentPage: 1, pageItems: 10 },
})
sdk.utils.logger.info('Getirilen özellikler:', properties)
Notlar
scope: 'app'için fonksiyon, mevcutcustomAppInstanceId’yi otomatik olarak ekler.- Başka bir tenant’ın verilerine erişmek için, onun mevcut tenant’ın bir alt tenantı olması gerekir ve yetkilendirme doğrulanır.
- Tüm işlemler asenkron çalışır.
- Yöntemlerini kullanmadan önce
sdk.customCollection(...)çağrısınıawaitetmeyi unutmayın. s