Câu trả lời ngắn gọn là không, theo như tôi biết, không có ORM tạo tự động cho redis hoặc MongoDB.
Bây giờ cho một lời giải thích chi tiết hơn:
Lý do tại sao có tồn tại hệ CRUD cho 'cố định' kho dữ liệu của ORM và không dựa vào hồ sơ dạng tự do rất đơn giản: chính bản chất của hồ sơ dạng tự do gây khó khăn để tạo một lược đồ.
Hãy xem xét lại ví dụ, giả sử mỗi bản ghi là một hàm băm, ví dụ: khóa 'user- {id}' với tên người dùng, tuổi và tên miền đã đăng ký. Bây giờ, điều gì sẽ xảy ra khi bạn thêm một trường 'vị trí' mới cho người dùng? Vâng, redis không quan tâm, bạn chỉ cần thêm trường vào bất kỳ bản ghi nào khi chúng được sửa đổi, không cần phải quay lại và thêm trường vào mỗi băm. Đủ đơn giản.
Nhưng bây giờ, bạn có ma thuật CRUD của bạn, cố gắng tìm ra trường nào sẽ hiển thị. Giả sử bạn quyết định xem bản ghi đầu tiên để xem trường nào tồn tại, nhưng nếu người dùng-1 thiếu trường 'vị trí' mới thì sao? Bây giờ CRUD sẽ không tạo ra nó.
Hơn nữa, vì redis lưu trữ mọi giá trị dưới dạng chuỗi, CRUD sẽ không biết rằng 'tuổi' ví dụ chỉ chấp nhận số nguyên và registered_on thực sự là chuỗi ngày được định dạng ISO.
Ồ, nhưng bạn nói, MongoDB có kiểu dữ liệu! chắc chắn, giả sử chúng ta bỏ qua các lĩnh vực khác nhau cho mỗi phụ cấp kỷ lục, giả vờ chúng ta có cùng một tập hợp các trường cho mỗi bản ghi, có thể làm một số CRUD tự động ở đó? Vâng vâng, bạn sẽ có thể làm tốt hơn một chút so với Redis, bởi vì có ví dụ một loại ngày và kiểu số nguyên, nhưng có một số khác biệt ngay cả sau đó. Giả sử bạn có một giá trị chuỗi. Làm cách nào để bạn biết liệu giá trị chuỗi đó có yêu cầu đầu vào nhiều dòng (văn bản) hoặc một dòng (loại đầu vào = văn bản) hay thậm chí chỉ có sẵn từ một lựa chọn thả xuống của một vài lựa chọn?
Bởi vì điều này, cách duy nhất để thực sự làm CRUD lý thuyết cho nhiều dạng tự do sẽ là nếu bạn định nghĩa trước 'lược đồ' (thông qua định nghĩa biểu mẫu?) Cho mỗi bản ghi và có thể thực hiện một số loại giao diện lớp/hợp đồng cho phép một công cụ CRUD liệt kê các bản ghi để truy xuất các đối tượng, để lấy một bản ghi duy nhất bằng khóa, để cập nhật/tạo bản ghi và xóa một bản ghi duy nhất bằng khóa.
Công cụ CRUD 'có thể cắm được' lý thuyết như vậy sẽ thực sự tuyệt vời và tôi rất muốn thấy ai đó tiếp nhận nó.
Nó không nên rất khó để tạo ra một số phần mềm mà mất trong tài liệu của bạn, và trên cơ sở mỗi tài liệu, tạo ra một lớp WTForm cho mỗi tài liệu (được rằng mỗi tài liệu có thể có bộ dữ liệu khác nhau trên chúng ngay cả khi chúng có nghĩa là đại diện cho các đối tượng tương tự - tính linh hoạt của không có sql và tất cả ...). Sau đó, bạn có thể sử dụng một kế hoạch chi tiết trong bình để đăng ký một chức năng xem có thể lấy một đối tượng, tạo biểu mẫu và hiển thị biểu mẫu cho người dùng. Nhìn vào những gì hình thức widget và xác nhận bạn cần sẽ là một phần khó khăn, như câu trả lời dưới đây chỉ ra mặc dù. – tkone