2015-05-25 20 views
5

Tôi đang cố gắng tạo chỉ mục trên trường lồng nhau, sử dụng Trang tổng quan trong Bảng điều khiển dành cho nhà phát triển AWS. Ví dụ. nếu tôi có giản đồ sau:Lập chỉ mục trên trường lồng nhau

{ 'id': 1, 
    'nested': { 
    'mode': 'mode1', 
    'text': 'nice text' 
    } 
} 

tôi đã có thể tạo ra các chỉ mục trên nested.mode, nhưng bất cứ khi nào tôi sau đó đi đến truy vấn bởi chỉ số, không có gì bao giờ trở lại. Nó khiến tôi nghĩ rằng DynamoDB đã tạo chỉ mục trên tên trường nested.mode thay vì trường mode của nested. Bất kỳ gợi ý nào. những gì tôi có thể làm sai?

Trả lời

11

Bạn không thể (hiện tại) tạo chỉ mục phụ tắt của thuộc tính lồng nhau. Từ (tôi nhấn mạnh) Improving Data Access with Secondary Indexes in DynamoDB documentation:

Đối với mỗi chỉ số thứ, bạn phải xác định như sau:

...

  • Giản đồ quan trọng đối với các chỉ số. Mọi thuộc tính trong giản đồ khóa chỉ mục phải là thuộc tính cấp cao nhất của loại Chuỗi, Số hoặc Nhị phân. Thuộc tính lồng nhau và tập hợp nhiều giá trị không được phép. Các yêu cầu khác đối với các lược đồ quan trọng phụ thuộc vào loại chỉ số:

Bạn có thể, tuy nhiên, create an index on any top level JSON element.

Các vấn đề liên quan