Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın
Belirli bir koleksiyon nesnesi üzerinde, o koleksiyon üzerinde okuma ve yazma işlemleri gerçekleştirmek için Depo nesnesini alabilirsiniz.
Depo nesnesi üzerinde find* ile başlayan metotları çağırarak sorgu işlemleri gerçekleştirebilirsiniz. Tüm sorgu metotları, verileri filtrelemek için filter parametresini kullanmanıza olanak tanır.
Depo'daki filter parametresi, daha çeşitli sorgu işlemleri gerçekleştirmek için farklı operatörler de sağlar.
Operatörler hakkında daha fazla bilgi için lütfen Filtre Operatörleri bölümünü inceleyin.
Sorgulama işlemi yaparken, fields, except ve appends parametreleri aracılığıyla çıktı alanlarını kontrol edebilirsiniz.
fields: Çıktı alanlarını belirtirexcept: Çıktı alanlarından hariç tutulacakları belirlerappends: Çıktıya ilişkili alanları eklerfilter parametresi, ilişkili alanlara göre filtrelemeyi destekler, örneğin:
İlişkili alanlar iç içe de kullanılabilir.
sort parametresini kullanarak sorgu sonuçlarını sıralayabilirsiniz.
İlişkili nesnelerin alanlarına göre de sıralama yapabilirsiniz.
Depo aracılığıyla yeni veri nesneleri oluşturun.
Oluşturma sırasında ilişkili nesneleri de eş zamanlı olarak oluşturabilirsiniz. Sorgulamaya benzer şekilde, ilişkili nesnelerin iç içe kullanımı da desteklenir, örneğin:
Eğer ilişkili nesne veri tabanında zaten mevcutsa, oluşturma sırasında onun ID'sini ileterek ilişkili nesneyle bir ilişki kurabilirsiniz.
Bir veri nesnesini aldıktan sonra, doğrudan veri nesnesi (Model) üzerinde özelliklerini değiştirebilir ve ardından değişiklikleri kaydetmek için save metodunu çağırabilirsiniz.
Veri nesnesi Model, Sequelize Model'den miras alır. Model üzerindeki işlemler için lütfen Sequelize Model bölümünü inceleyin.
Depo aracılığıyla da verileri güncelleyebilirsiniz:
Güncelleme yaparken, whitelist ve blacklist parametrelerini kullanarak hangi alanların güncelleneceğini kontrol edebilirsiniz, örneğin:
Güncelleme yaparken, ilişkili nesneleri ayarlayabilirsiniz, örneğin:
Depo içindeki destroy() metodunu çağırarak silme işlemi gerçekleştirebilirsiniz. Silme işlemi yaparken filtreleme koşullarını belirtmeniz gerekir:
Genellikle geliştiriciler tarafından doğrudan çağrılmaz. Esas olarak db.registerRepositories() aracılığıyla tür kaydedildikten ve db.collection() parametrelerinde ilgili kayıtlı depo türü belirtildikten sonra örneği oluşturulur.
İmza
constructor(collection: Collection)Örnek
databaseBağlamın bulunduğu veri tabanı yönetim örneği.
collectionİlgili koleksiyon yönetim örneği.
modelİlgili model sınıfı.
find()Veri tabanından bir veri kümesi sorgular; filtreleme koşulları, sıralama vb. belirtilebilir.
İmza
async find(options?: FindOptions): Promise<Model[]>Tip
Detaylar
filter: FilterVeri sonuçlarını filtrelemek için kullanılan sorgu koşulu. Geçirilen sorgu parametrelerinde, key sorgulanacak alan adıdır ve value sorgulanacak değeri veya diğer koşullu veri filtrelemesi için operatörlerle birlikte kullanılabilir.
Daha fazla operatör için lütfen Sorgu Operatörleri bölümünü inceleyin.
filterByTk: TargetKeyTargetKey aracılığıyla veri sorgular; bu, filter parametresi için pratik bir yöntemdir. TargetKey'in hangi alan olduğu, koleksiyon içinde yapılandırılabilir ve varsayılan olarak primaryKey'dir.
fields: string[]Veri alanı sonuçlarını kontrol etmek için kullanılan sorgu sütunları. Bu parametre geçildikten sonra, yalnızca belirtilen alanlar döndürülür.
except: string[]Veri alanı sonuçlarını kontrol etmek için kullanılan hariç tutulan sütunlar. Bu parametre geçildikten sonra, belirtilen alanlar çıktı olarak verilmez.
appends: string[]İlişkili verileri yüklemek için eklenen sütunlar. Bu parametre geçildikten sonra, belirtilen ilişkili alanlar da çıktı olarak verilir.
sort: string[] | stringSorgu sonuçları için sıralama yöntemini belirtir. Parametre alan adıdır ve varsayılan olarak artan asc düzende sıralanır. Azalan desc düzende sıralamak için alan adının önüne - sembolü ekleyin, örneğin: ['-id', 'name'], bu id desc, name asc şeklinde sıralama anlamına gelir.
limit: numberSonuç sayısını sınırlar, SQL'deki limit ile aynıdır.
offset: numberSorgu ofseti, SQL'deki offset ile aynıdır.
Örnek
findOne()Veri tabanından belirli koşulları karşılayan tek bir veri parçasını sorgular. Sequelize'deki Model.findOne() ile eşdeğerdir.
İmza
async findOne(options?: FindOneOptions): Promise<Model | null>Örnek
count()Veri tabanından belirli koşulları karşılayan toplam veri giriş sayısını sorgular. Sequelize'deki Model.count() ile eşdeğerdir.
İmza
count(options?: CountOptions): Promise<number>Tip
Örnek
findAndCount()Veri tabanından belirli koşulları karşılayan bir veri kümesini ve toplam sonuç sayısını sorgular. Sequelize'deki Model.findAndCountAll() ile eşdeğerdir.
İmza
async findAndCount(options?: FindAndCountOptions): Promise<[Model[], number]>Tip
Detaylar
Sorgu parametreleri find() ile aynıdır. Dönüş değeri bir dizidir; ilk öğe sorgu sonucunu, ikinci öğe ise toplam sayıyı temsil eder.
create()koleksiyon'a yeni bir kayıt ekler. Sequelize'deki Model.create() ile eşdeğerdir. Oluşturulacak veri nesnesi ilişki alanı bilgilerini taşıdığında, ilgili ilişki veri kayıtları da eş zamanlı olarak oluşturulur veya güncellenir.
İmza
async create<M extends Model>(options: CreateOptions): Promise<M>Örnek
createMany()koleksiyon'a birden fazla yeni kayıt ekler. create() metodunu birden çok kez çağırmaya eşdeğerdir.
İmza
createMany(options: CreateManyOptions): Promise<Model[]>Tip
Detaylar
records: Oluşturulacak kayıtlar için veri nesnelerinin bir dizisi.transaction: İşlem (transaction) nesnesi. Eğer bir işlem parametresi geçilmezse, bu metot otomatik olarak dahili bir işlem oluşturur.Örnek
update()koleksiyon'daki verileri günceller. Sequelize'deki Model.update() ile eşdeğerdir. Güncellenecek veri nesnesi ilişki alanı bilgilerini taşıdığında, ilgili ilişki veri kayıtları da eş zamanlı olarak oluşturulur veya güncellenir.
İmza
async update<M extends Model>(options: UpdateOptions): Promise<M>Örnek
destroy()koleksiyon'daki verileri siler. Sequelize'deki Model.destroy() ile eşdeğerdir.
İmza
async destroy(options?: TargetKey | TargetKey[] | DestroyOptions): Promise<number>Tip
Detaylar
filter: Silinecek kayıtlar için filtreleme koşullarını belirtir. Filter'ın detaylı kullanımı için find() metodunu inceleyin.filterByTk: Silinecek kayıtlar için TargetKey'e göre filtreleme koşullarını belirtir.truncate: koleksiyon verilerinin boşaltılıp boşaltılmayacağını belirler; filter veya filterByTk parametresi geçilmediğinde etkilidir.transaction: İşlem (transaction) nesnesi. Eğer bir işlem parametresi geçilmezse, bu metot otomatik olarak dahili bir işlem oluşturur.