CodeBlanks Logo Icon CodeBlanks

Query

Mongoose query ve filtreleme öğrenirsin.

Query nedir?

Bir Query, Mongoose'ta veritabanından belge arama işlemidir. Model.find(kosul) bir Query nesnesi döndürür; bu, eşzamansız olarak çalışır ve await ile beklenir.

Temel sorgu metotları: find() (tüm eşleşenler), findOne() (ilk eşleşen), findById(id) (ID ile). Filtre bir nesnedir: { yas: { $gt: 18 } } yaşı 18'den büyük olanları bulur. Query zincirlenebilir: User.find(filtre).sort({ ad: 1 }).limit(10).

find, findById, findOne

Üç temel arama metodu vardır. find(filtre) filtreye uyan tüm belgeleri bir dizi olarak döndürür. findOne(filtre) filtreye uyan ilk belgeyi döndürür. findById(id) benzersiz ID ile tek belge bulur.

Hepsi eşzamansızdır; await ile kullanılır. Filtre boşsa {} tüm belgeler döner. Hiç belge yoksa find boş dizi [], findOne ve findById null döndürür.

Uygulama find türünü yaz

mongoose modülünü içe aktar. mongoose.model("User", { ad: String }) ile bir model oluştur. typeof User.find sonucunu yaz.

Başlangıç kodu

index.js
// modülü içe aktar

// model oluştur

// find türünü yaz

Örnek çözüm

index.js
const mongoose = require("mongoose");
const User = mongoose.model("User", { ad: String });
console.log(typeof User.find);

Beklenen çıktı

function

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 User.find() ne döndürür?

  • Bir dize
  • Bir sayı
  • Bir Buffer
  • Bir Query nesnesi Doğru cevap

Açıklama: User.find() bir Query nesnesi döndürür.

2 Parçayı rolüne eşle

Kavram Anlamı
Model.find() Tüm belgeleri bulur
Model.findById() ID ile bulur
Model.findOne() Bir belge bulur
Query Sorgu nesnesi

3 Metod adını tamamla

Soru
const results = await User.____({})
Cevap
const results = await User.find({})

Açıklama: User.find({}) tüm belgeleri bulur.

İleri seviye bölümündeki tüm dersler