Vấn đề là:
db.test.find({field: {$someOperator: {subfield: /regex/}}})
Thực ra là một cách truy vấn khác trong MongoDB, sử dụng tính chất đối tượng để tìm kiếm các tài liệu con.
Vì vậy, không, bạn phải sử dụng ký hiệu dấu chấm trừ khi bạn đang tìm kiếm nơi một đối tượng chính xác bằng đối tượng kia.
Điều đó được cho là bạn có thể bọc tài liệu trong $elemMatch
: http://docs.mongodb.org/manual/reference/operator/elemMatch /
điều đó sẽ hoạt động
Chỉnh sửa
Xem xét cấu trúc bộ sưu tập của bạn $elemMatch
sẽ không thực sự hoạt động.