İ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 kitapBir 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.
Görev
KolayVerilen 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