Menu
CoddyTech

שמירת התוצאות הראשונות

חלק מהיחידה מסדי נתונים עם MongoDB במסלול ה-Node.js של Coddy. שיעור 12 מתוך 29.

דף שמציג את שני הספרים החדשים ביותר זקוק רק לשתי התוצאות הראשונות. לסמן יש שיטת limit לשם כך. limit הוא מספר מסמכים, לא ערך של שדה.

await books.find().sort({year: 1}).limit(1).toArray();
// [Emma], הספר הישן ביותר

בסמן של find, MongoDB מבצעת מיון לפני הגבלת התוצאות, ללא קשר לסדר שבו משרשרים את הקריאות. כתבו את sort ראשונה כדי שהקוד ייקרא בסדר הזה. גם כשהמגבלה היא 1, עדיין מוחזר מערך. אם פחות מסמכים תואמים למגבלה, מסד הנתונים מחזיר את המסמכים הזמינים. לא נוספים פריטים ריקים.

ערך של שאילתה הוא טקסט: Number(input.page) || 1 משתמש בערך המספרי שלו, או ב-1 כשהוא חסר. השיטה הזו מקבלת מספרים שלמים חיוביים.

challenge icon

אתגר

קל

השאר את המיון שסופק, מהחדש לישן. הגבל את התוצאות באמצעות input.n מתוך מחרוזת השאילתה; השתמש ב־2 אם הוא חסר. החזר את המסמכים ללא שינוי.

נסה להריץ: GET /result?n=2 מחזיר את Kindred ואז את Dune. עם ?n=1, רק Kindred נשאר. אם n לא מצוין, ברירת המחדל היא שתי תוצאות. הקלטים הם מספרים שלמים חיוביים.

נסו בעצמכם

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

כל השיעורים ביחידה מסדי נתונים עם MongoDB

תרגלו בעצמכם: Express אונליין