How to update a particular field in mongo db collection by using MongoRepository Interface in spring?
How to update particular field in mongo db by using MongoRepository Interface?
Asked Answered
apart from MongoRepository do you know with any other repository? –
Sherrod
short answer is NO –
Merat
did you get the solution? –
Gum
You can update specific field by below code:
Query query1 = new Query(Criteria.where("id").is("123"));
Update update1 = new Update();
update1.set("available", false);
mongoTemplate.updateFirst(query1, update1, Customer.class);
This method uses MongoOperation, not MongoRepository –
Merat
Not an answer, see the previous comment –
Scholasticism
As of today, you can't update the document using MongoRepository
using one query. If you really want to update a particular field using MongoRepository
then following is the steps:
- Fetch the document that you want to update
- Set the new value to a particular field and save that document.
Example:
MyDocument myDocumentToUpdate = myDocumentRepository.findById(documentId); // fetching a document that you want to update the field
myDocumentToUpdate.setMyField(myNewValue); // setting the new value to the field myField
myDocumentRepository.save(myDocumentToUpdate); // saving (It basically updates the document) the updated document
This seems to have the effect of overwriting the entire document rather than just updating the value of that single field. –
Mohican
Yes. Internally it is not changing the particular field but as a user, it seems to do so. –
Sitin
© 2022 - 2024 — McMap. All rights reserved.