MongoDB mengakui perilaku ini, tetapi mereka juga mengatakan ini berfungsi seperti yang dirancang.
Telah dicatat sebagai bug di MongoDB JIRA, tahap agregasi $out tidak berlaku , dan tanggapannya mengatakan itu bukan kesalahan:
Jadi, sepertinya Anda harus memanggil salah satu metode untuk memulai iterasi kursor sebelum $out
akan melakukan apa saja. Menambahkan .toArray()
, seperti yang sudah Anda lakukan, mungkin paling aman. Perhatikan bahwa to.Array()
tidak memuat seluruh hasil ke dalam RAM seperti biasa; karena termasuk $out
, agregasi mengembalikan kursor kosong
.