Tôi có một cấu trúc MongoDB như thế này:
record = { 'field': 'value',
'field2': 'value2',
'events' : [ { 'event1': 1 }, { 'event2' : 2 }]
}
Tôi đang sử dụng Spring dữ liệu MongoDB gói để truy cập dữ liệu này. Sẽ có chủ yếu ghi vào dữ liệu, vì vậy tôi muốn sử dụng chức năng "$ push" bản địa để thêm "sự kiện" vào "bản ghi", nhưng tôi không thể tìm ra cách làm điều đó với MongoRepository mà không tìm nạp toàn bộ hồ sơ và sau đó đẩy nó và lưu nó trở lại?
Khi sử dụng MongoRepository, bạn chưa bao giờ thực sự thực hiện cụ thể. Xuân xử lý tất cả mọi thứ dựa trên chú thích hoặc tên của các phương pháp tự
CẬP NHẬT
Sẽ cách chính xác để có để thực hiện một phương pháp tùy chỉnh trên kho lưu trữ và sau đó sử dụng MongoTemplate để làm điều đó bằng tay?
Ví dụ:
FooRepository.java
public interface FooRepository extends
CrudRepository<Foo, ObjectId>,
AppointmentWarehouseRepositoryCustom {
}
FooRepositoryCustom.java
public interface AppointmentWarehouseRepositoryCustom {
public void pushMethod();
}
FooRepositoryImpl.java
public class FooRepositoryImpl implements
AppointmentWarehouseRepositoryCustom {
@Autowired
protected MongoTemplate mongoTemplate;
public void pushMethod() {
// Push methods here.
}
}
Và chúng tôi có thể đẩy đối tượng vào danh sách được đánh dấu là @DBRef không? – javadev
Điều đó có xảy ra với bạn bằng bất kỳ cơ hội nào để đẩy vào bộ sưu tập @DBRef không? – javadev