Khi tôi tạo một đối tượng bằng phương thức của ndb, nó sẽ tạo khóa tự động của loại Khóa (loại, id) trong đó id là một số. Trên tất cả các tài liệu hướng dẫn nó cho thấy rằng bạn có thể sử dụng một chuỗi cho id của khóa nhưng tôi không thể tìm hiểu làm thế nào để làm điều này tự động khi một đối tượng được tạo ra.Mã khóa tùy chỉnh NDB của Máy ứng dụng Google
Tôi có một mô hình Người dùng và tôi đã suy nghĩ để sử dụng tên người dùng của người dùng (vì nó là duy nhất) làm id của khóa để truy xuất nhanh hơn. Đó có phải là một ý tưởng hay không? Tôi có gặp bất kỳ vấn đề gì với tên người dùng vì người dùng đó đã đăng ký (tôi đang xác thực đầu vào) không?
Cảm ơn câu trả lời, điều đó thực sự hợp lý. Tôi nghĩ nó phức tạp hơn thế. – andrei
Tôi gặp phải sự cố về độ trễ với phương pháp này trước đây. Không nên đặt ID theo cách thủ công cho các thực thể Datastore, vì bạn cũng sẽ gặp sự cố "máy tính bảng nóng". Tốt nhất là để kho dữ liệu tự động tạo ID thực thể và không mã hóa dữ liệu vào chính khóa đó. Thay vào đó, hãy sử dụng Thuộc tính trong thực thể. Có thể sẽ áp dụng các quy ước quan hệ cơ sở dữ liệu vào Datastore, chẳng hạn như tự động tăng khóa chính, nhưng điều này sẽ thực sự hoàn tác việc xóa bỏ keyspace và tạo ra các vấn đề. [1] https://cloud.google.com/appengine/articles/handling_datastore_errors –