Có thể giới hạn các tùy chọn hiển thị sẵn có trong một loại mối quan hệ của KeystoneJS bằng cách chỉ định điều kiện giá trị không? Về cơ bản, một mô hình có hai bộ trường mảng, thay vì cho phép người dùng quản trị chọn bất kỳ mục nào từ trường, tôi muốn giới hạn chỉ các mục là một phần của một bộ sưu tập cụ thể _id.Loại mối quan hệ KeystoneJS, giới hạn các mục có sẵn theo giá trị trường
Trả lời
Không chắc chắn nếu đây chính xác là tính năng bạn đang tìm kiếm, nhưng bạn có thể chỉ định tùy chọn filter
trên trường Relationship
làm đối tượng và nó sẽ lọc kết quả để chỉ kết quả phù hợp được hiển thị.
Mỗi thuộc tính trong đối tượng filter
hoặc phải là một giá trị để phù hợp trong lược đồ có liên quan, hoặc nó có thể là một giá trị động phù hợp với giá trị của path
khác trong lược đồ (bạn có tiền tố con đường với một :
).
Ví dụ:
giản đồ người dùng
User.add({
state: { type: Types.Select, options: 'enabled, disabled' }
});
bài Schema
// Only allow enabled users to be selected as the author
Post.add({
author: { type: Types.Relationship, ref: 'User', filter: { state: 'enabled' } }
});
Hoặc cho một ví dụ năng động, hãy tưởng tượng bạn có một thiết lập role
cho cả Posts
và Users
. Bạn chỉ muốn đối sánh các tác giả có cùng số role
là post
.
giản đồ người dùng
User.add({
userRole: { type: Types.Select, options: 'frontEnd, backEnd' }
});
bài Schema
Post.add({
postRole: { type: Types.Select, options: 'frontEnd, backEnd' },
// only allow users with the same role value as the post to be selected
author: { type: Types.Relationship, ref: 'User', filter: { userRole: ':postRole' } }
});
Lưu ý rằng điều này là không thực sự thực hiện như xác nhận back-end, nó chỉ là thực hiện trong quản lý giao diện người dùng. Vì vậy, nó là một nâng cao khả năng sử dụng hơn là một hạn chế.
Để mở rộng câu trả lời của Jed, tôi nghĩ thuộc tính chính xác (ít nhất là trong phiên bản KeystoneJS 0.2.22 mới nhất) là 'bộ lọc' thay vì 'bộ lọc'. 'bộ lọc' không hoạt động đối với tôi.
- 1. keystoneJS mối quan hệ tự
- 2. Tìm kiếm các mục theo mối quan hệ nhiều-nhiều
- 3. Giá trị tối đa trong mối quan hệ nhiều-nhiều
- 4. Mối quan hệ tự giới thiệu Django?
- 5. Lọc mối quan hệ Nhiều-Nhiều từ trường Mối quan hệ ở Django
- 6. Laravel lấy trường từ mối quan hệ
- 7. Thiết kế danh mục trong Neo4j, mối quan hệ nút gốc so với các mối quan hệ với các nút được lập chỉ mục
- 8. Tìm hiểu các mối quan hệ và mối quan hệ dữ liệu của Orchard
- 9. làm thế nào để giới hạn/bù đắp kết quả sqlalchemy orm của mối quan hệ?
- 10. Đường ray: `bao gồm` một mối quan hệ `has_many` với` giới hạn`
- 11. Mối quan hệ Laravel
- 12. Lỗi Django: cần có giá trị cho trường "..." trước mối quan hệ nhiều-nhiều này có thể được sử dụng
- 13. Giới hạn giá trị F #
- 14. Sqlalchemy, mối quan hệ và mối quan hệ
- 15. Đặt mối quan hệ với mối quan hệ nhiều-nhiều
- 16. Tạo dữ liệu emberRecord với mối quan hệ có mối quan hệ mà không cần lưu
- 17. Làm thế nào để có mối quan hệ với một mối quan hệ luôn được nhúng
- 18. Rails 4 Các mối quan hệ và mối quan hệ đa hình
- 19. dạng bình chứa-quản trị: Giá trị giới hạn của trường 2 tùy thuộc vào giá trị của trường 1
- 20. Các mối quan hệ mở rộng Django
- 21. CoreData sắp xếp theo mối quan hệ nhiều-nhiều
- 22. Mối quan hệ giữa TypeRep và "Loại" GADT
- 23. IDbSetExtensions.AddOrUpdate và các mối quan hệ
- 24. Mối quan hệ giữa các trường hợp của Danh sách <T>
- 25. ASP.NET - Giới hạn tệp tải lên các loại tệp có sẵn
- 26. SqlAlchemy - Lọc theo mối quan hệ Thuộc tính
- 27. Giới hạn chính xác về giá trị liên quan chung trong Swift enums là gì?
- 28. PessimisticLockScope.NORMAL và khóa "mối quan hệ"
- 29. iOS: hàm biểu thức giá trị khi di chuyển mối quan hệ coredata là gì?
- 30. Giới hạn các loại chung trong C#
Câu hỏi này chưa rõ ràng. Tôi không hiểu bạn đang cố gắng làm gì và vấn đề là gì. Xin giải thích thêm. Và chia sẻ mã những gì bạn đã có để giải quyết vấn đề này. –