2015-06-11 18 views
7

Tôi đang làm việc trên một ứng dụng sử dụng Spring Data MongoDB. Tôi muốn tạo một chỉ số hợp chất trên một trong các mô hình của tôi. Tôi đã thêm chú thích @CompoundIndex ở trên cùng như vậy:@CompoundIndex không hoạt động trong Spring Data MongoDB

@Document 
@CompoundIndexes({ 
    @CompoundIndex(name = "name_", def = "{ 'tenantId': 1, 'name': 1 }", unique = true) 
}) 
public class MyModel { 

} 

Tuy nhiên, chỉ mục không được tạo. Tôi cũng đã cố gắng đặt trực tiếp số @CompoundIndex phía trên lớp học. Bộ sưu tập vẫn thiếu chỉ mục. Định nghĩa chỉ mục tương tự đang hoạt động tốt khi được tạo như vậy:

mongoTemplate.indexOps(MyModel.class).ensureIndex(new Index().named("name_").on("tenantId", Direction.ASC).on("name", Direction.ASC).unique()); 

Tôi muốn sử dụng định nghĩa dựa trên chú thích của chỉ mục. Bất kỳ ý tưởng tại sao điều này không hoạt động?

+0

Bạn đã thử http://pastebin.com/PynPCgRY chưa? – chridam

+0

Tôi đã làm bây giờ và nó không thay đổi hành vi ... – fynn

+0

Xin chào! Tôi có thể yêu cầu bạn đăng toàn bộ đơn đăng ký không? Nó sẽ là tuyệt vời nếu bạn có thể cung cấp bối cảnh mùa xuân ít nhất. – danidemi

Trả lời

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