Thuật ngữ của bạn bị tắt vì cấu trúc đó không phải là mảng "đa chiều", vì chúng có "mảng trong mảng", do đó có "kích thước". Đây chỉ là "các đối tượng" trong một mảng.
Vì vậy, vấn đề của bạn ở đây là một trường hợp cơ bản của việc lập luận sai cách. Bạn không cần $in
chỉ để tìm kiếm một mảng, nhưng thay vào đó, nó cần một "danh sách / mảng" các đối số để áp dụng cho trường.
Tóm lại, chỉ cần tra cứu trường và sử dụng "ký hiệu dấu chấm" :
.find({ "subRegions.code": regionCode }).exec(...);
Bạn chỉ cần $in
về cơ bản là một $or
điều kiện, tìm kiếm các giá trị thay thế cho subRegions.code
, vì vậy bạn không cần điều đó khi chỉ có một giá trị phù hợp.