SpringData how to get resultCount of a delete/update query

Hi,
is there a why to get ‘resultCount’ of an update/delete query?
I’m looking for some hint like #{#n1ql.returning} but for resultCount

Hi OranB -

There isn’t a mechanism for returning the number of mutations from the response metadata, but you can have your upsert/delete return something for each upsert/delete, and then count them.

@Query(“update #{#n1ql.bucket} set name=$newName where name = $oldName returning 1”)
List<Integer> myUpsert(String oldName, String newName);|

int l = airportRepository.myUpsert("oldName", "newName").size(); <-- take .size()

Instead of “returning 1”, you could also use #{#n1ql.returning}, which will return the whole entity

@Query(“update #{#n1ql.bucket} set name=$newName where name = $oldName #{#n1ql.returning}” )
List<Airport> myUpsert(String oldName, String newName);|

ps. I did try: “SELECT COUNT(*) from (UPDATE ... returning 1) s” but the subquery can only be a SELECT.

@mreiche is mutationCount is not option?

"metrics": {
        "elapsedTime": "5.648016559s",
        "executionTime": "5.647957729s",
        "resultCount": 0,
        "resultSize": 0,
        "serviceLoad": 2,
        "mutationCount": 15994
    }

@OranB

UPDATE … returning RAW 1;
do length of result slice

spring data couchbase doesn’t expose the result metadata.

RAW won’t work as spring data couchbase expects json.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.