Oke, triknya adalah kerangka kerja agregasi, khususnya melepas .
> db.mytest.aggregate({$unwind: '$top'},
{$unwind: '$top.nest'},
{$match: {'top.nest.p': 6}}
)
Meskipun dalam kasus saya memiliki beberapa sub kecocokan dalam satu objek, ini akan mengembalikan beberapa hasil alih-alih dalam bentuk pengelompokan aslinya. Saya kira saya dapat menempatkan $group
ke dalam pipa, meskipun.
Meskipun tautan terkait yang saya temukan menyarankan desain ulang skema sebagai satu-satunya perbaikan lengkap saat ini, jadi ini jelas lebih baik daripada tidak sama sekali.