Vì phím chức năng của bạn là mảng, để sử dụng toán tử đối sánh $, trước tiên bạn phải sử dụng toán tử $ relax. http://docs.mongodb.org/manual/reference/aggregation/unwind/ Và sau đó bạn sử dụng $ điều hành trận đấu để tìm thấy những tài liệu mà bạn muốn http://docs.mongodb.org/manual/reference/aggregation/match/
Vì vậy, câu hỏi của bạn sẽ trông như thế này
db.collection.aggregate([{$unwind:"$Function"},{$match:{"Form_id":1,"Function.Function_id":2}}])
By Mongo mặc định sẽ hiển thị _id của tài liệu. Vì vậy, nếu bạn không muốn hiển thị _id, sau khi phù hợp với những người có liên quan, bạn có thể sử dụng toán tử $ dự án http://docs.mongodb.org/manual/reference/aggregation/project/
db.collection.aggregate([{$unwind:"$Function"},{$match:{"Form_id":1,"Function.Function_id":2}},{$project:{"_id":0,"Form_id":1,"Function":1}}])
Nếu bạn không muốn form_id sẽ được hiển thị, chỉ cần không chỉ định form_id trong phần dự án của truy vấn. Theo mặc định, mongo sẽ chỉ hiển thị các khóa có giá trị là 1. Nếu khóa không được đề cập, nó sẽ không hiển thị.
db.collection.aggregate([{$unwind:"$Function"},{$match:{"Form_id":1,"Function.Function_id":2}},{$project:{"_id":0,"Function":1}}])
là khả năng nào có được kỷ lục như thế này '{ " Hàm_Id ": 2, " Vai trò ": [{ " Vai trò_Id ": 2, " UserId ": [" Quản trị "," 005 "] } 'là kết quả của tôi. – siva