Menu
CoddyTech

İlk Sonuçları Tutma

Coddy'nin Node.js Journey'sinin MongoDB ile Veritabanları bölümünün bir parçası. Ders 12 / 29.

En yeni iki kitabı gösteren bir sayfanın yalnızca ilk iki sonuca ihtiyacı vardır. Bir imlecin bunun için limit yöntemi vardır. Limit, bir alanın değeri değil, belge sayısıdır.

await books.find().sort({year: 1}).limit(1).toArray();
// [Emma], en eski kitap

Bir find imlecinde MongoDB, çağrıları hangi sırayla zincirlediğinizden bağımsız olarak sınırlamadan önce sıralama yapar. Kodun bu sırayla okunması için önce sort yazın. Limit 1 olduğunda da bir dizi döndürülür. Eşleşen belge sayısı limitten azsa veritabanı mevcut belgeleri döndürür. Boş yer tutucular eklenmez.

Sorgu değeri metindir: Number(input.page) || 1 değerin sayısını kullanır veya değer eksikse 1 kullanır. Bu uygulama pozitif tam sayıları kabul eder.

challenge icon

Görev

Kolay

Verilen en yeniden eskiye sıralamayı koru. Sonuçları sorgu dizgesindeki input.n değerini kullanarak sınırla; bu değer yoksa 2 kullan. Belgeleri değiştirmeden döndür.

Çalıştırmayı dene: GET /result?n=2, önce Kindred'i, ardından Dune'u döndürür. ?n=1 ile yalnızca Kindred kalır. n olmadığında varsayılan olarak iki sonuç döndürülür. Girdiler pozitif tam sayılardır.

Kendin dene

export async function exercise(books, input) {
    return await books.find().sort({ year: -1 }).toArray();
}

MongoDB ile Veritabanları bölümündeki tüm dersler

Kendi başına pratik yap: Express playground