Tôi đang viết một ứng dụng play2.1 với mongodb, và đối tượng mô hình của tôi là một chút mở rộng. khi cập nhật một mục trong DB, tôi cần phải so sánh các đối tượng tạm thời đến từ các hình thức với những gì trong DB, vì vậy tôi có thể xây dựng các truy vấn cập nhật (và đăng nhập các thay đổi).iterate over case class data members
tôi đang tìm kiếm một cách để có tổng thể 2 trường hợp và nhận được sự khác biệt về chúng. iterating trên mỗi thành viên dữ liệu là dài, cứng mã hóa và dễ bị lỗi (nếu a.firstName.equalsIgnoreCase (b.firstName)) vì vậy tôi đang tìm kiếm một cách để lặp qua tất cả các thành viên dữ liệu và so sánh chúng theo chiều ngang (một bản đồ của tên - > giá trị sẽ làm hoặc danh sách tôi có thể tin cậy để liệt kê các thành viên dữ liệu theo cùng một thứ tự mỗi lần).
bất kỳ ý tưởng nào?
case class Customer(
id: Option[BSONObjectID] = Some(BSONObjectID.generate),
firstName: String,
middleName: String,
lastName: String,
address: List[Address],
phoneNumbers: List[PhoneNumber],
email: String,
creationTime: Option[DateTime] = Some(DateTime.now()),
lastUpdateTime: Option[DateTime] = Some(DateTime.now())
)
cả ba giải pháp dưới đây là rất lớn, nhưng tôi vẫn không thể có được tên của trường, phải không? đó có nghĩa là tôi có thể ghi lại những thay đổi, nhưng không phải những gì lĩnh vực nó bị ảnh hưởng ...
Bạn có thể đăng một số đoạn mã không? Các trường hợp của bạn, một số trường hợp ví dụ và kết quả bạn muốn đạt được? –