Lập chỉ mục các trường là Subdocument

Giả sử rằng bạn muốn tìm kiếm trong các Document dựa vào các trường city, state và pincode. Khi tất cả các trường này là một phần của trường address, là Subdocument, bạn sẽ tạo chỉ mục trên tất cả các trường của Subdocument đó.

Để tạo chỉ mục trên tất cả các trường của Subdocument đó, bạn sử dụng:

>db.users.ensureIndex({"address.city":1,"address.state":1,"address.pincode":1})

Khi chỉ mục đã được tạo, bạn có thể tìm kiếm cho bất kỳ trường nào trong các trường của Subdocument đó. Lợi dụng chỉ mục này như sau:

>db.users.find({"address.city":"Los Angeles"})

Nhớ rằng, biểu thức truy vấn phải theo sau thứ tự của chỉ mục đã được xác định. Do đó, chỉ mục đã tạo ở trên sẽ hỗ trợ các truy vấn sau:

>db.users.find({"address.city":"Los Angeles","address.state":"California"})

Nó cũng sẽ hỗ trợ truy vấn sau:

>db.users.find({"address.city":"LosAngeles","address.state":"California","address.pincode":

Last updated