Embed atau Reference: Aturan Praktis

Keputusan desain paling menentukan di MongoDB adalah menyimpan data anak di dalam dokumen induk (embed) atau menyimpannya terpisah lalu menunjuk lewat id (reference). Embed tepat kalau datanya selalu dibaca bersama induknya dan jumlahnya terbatas — misalnya alamat pengiriman pada satu pesanan. Reference tepat kalau datanya tumbuh tanpa batas atau dipakai banyak dokumen lain, misalnya komentar pada artikel populer. Batas keras yang perlu kamu ingat: satu dokumen MongoDB maksimal 16 MB, dan dokumen yang terus membesar akan memperlambat setiap pembacaan meski kamu hanya butuh satu bidang.

👀 Contoh dulu

// embed: alamat selalu dibaca bersama pesanannya
db.pesanan.insertOne({
  kode: 'INV-1',
  alamat: { kota: 'Bandung', pos: '40115' },
});

Hasilnya: { acknowledged: true, insertedId: ObjectId('66c3...') }

📝 Sekarang giliranmu

Komentar artikel bisa bertambah tanpa batas, jadi simpan terpisah dengan pola reference. Tulis perintah yang menyimpan satu dokumen ke koleksi komentar berisi artikelId bernilai postId dan isi bernilai 'Bermanfaat!'.

Preview