Ana içeriğe geç

Ö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ı await etmelisiniz.

MethodAçı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, mevcut customAppInstanceId’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ı await etmeyi unutmayın. s