Per diskusi kami, kami menemukan akar penyebabnya dengan
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId() akan membuat id bidang dalam subdokumen dan tanpa _id bidang di reviews subdokumen.
id()
metode yang digunakan untuk mendokumentasikanArray memiliki id khusus metode untuk mencari dokumen dengan _id . Karena tidak ada _id bidang di reviews array dokumen, itu tidak berfungsi dengan baik.
Harap hapus id: ObjectId() dari kode Anda.