ฉันกำลังพยายามวางแผน API ของฉัน เช่น:
/animals // returns all animals
/animals/dogs // returns all dogs
/animals/cats // returns all cats
/animals/dogs/:id // returns dog
ดังนั้นฉันจึงมีโมเดลแยกสำหรับทั้ง 'cat' และ 'dog' เนื่องจากพวกมันจะมีคุณสมบัติเฉพาะตัว แต่ทั้งคู่ก็ใช้สคีมา 'animal' เป็นปลั๊กอินพื้นฐาน
คำถามของฉันคือจะจัดเก็บข้อมูลไว้ที่ไหน ตัวเลือกของฉันคือ:
1) คอลเลกชันเดี่ยว - เก็บทั้งแมวและสุนัขไว้ในคอลเลกชันเดียว ซึ่งจะทำให้การรับข้อมูลสำหรับ '/สัตว์' ค่อนข้างง่ายด้วยแบบสอบถามเดียว
2) คอลเลกชันหลายรายการ - เก็บทั้งแมวและสุนัขไว้ในแต่ละคอลเลกชัน ซึ่งจะทำให้การจัดเก็บข้อมูลมีเหตุผลมากขึ้น อย่างไรก็ตาม เมื่อได้รับข้อมูลสำหรับ '/สัตว์' จะต้องมีการสืบค้นหลายครั้งและต่อข้อมูลนั้นเข้าด้วยกัน
มีตัวเลือกอื่นใดที่ฉันพลาดไปหรือแนวทางที่ต้องการหรือไม่
ขอบคุณ