Theo cuộc thảo luận của chúng tôi, chúng tôi đã tìm ra nguyên nhân gốc rễ bởi
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId() sẽ tạo id trong tài liệu con và không có _id trong reviews tài liệu phụ.
id()
phương thức được sử dụng để documentArrays có id đặc biệt phương pháp tra cứu tài liệu theo _id của nó . Vì không có _id trường trong reviews mảng tài liệu, nó không hoạt động tốt.
Vui lòng xóa id: ObjectId() từ mã của bạn.