Struktur Anda terlihat benar. Anda hanya menyimpan news_id di bidang data dan itu adalah implementasi yang lebih cerdas karena menyimpan dokumen lengkap akan menyebabkan banyak perpindahan dan penulisan oleh MongoDB setiap kali berita baru ditambahkan ke favorit oleh pengguna.
Alasannya, yang mungkin sudah Anda ketahui, adalah bahwa dokumen baru dibuat pada setiap pembaruan. Referensi:http://docs.mongodb.org/ manual/reference/method/db.collection.save/#upsert .
Saya juga berpikir bahwa sebagai aturan bisnis Anda harus membatasi jumlah item berita yang dapat ditetapkan sebagai favorit oleh pengguna. Membiarkan daftar ini berkembang tanpa batas bukanlah ide yang baik untuk desain yang disematkan.
Jika Anda menginginkan jumlah favorit yang tidak terbatas, Anda sebaiknya membuat koleksi terpisah untuk itu dan kemudian untuk mendapatkan semua favorit oleh pengguna, gunakan operator $match (pada id pengguna) dan $sort (dari item berita) dalam kueri agregasi untuk dapatkan daftar item berita favorit yang diurutkan untuk pengguna.