How to update shard key

i read the document , update shard key should in a transaction or retrywrites:true.
it seems that login mongs using --retrywrites true does not work.
so i try to use a transaction:
var session = db.getMongo().startSession()
session.startTransaction()
var tb1 = session.getDatabase(‘testdb01’).getCollection(‘table01’)
tb1.updateOne({id:1},{$set:{“id”:“88888”}},{multi:false})
session.commitTransaction()
i get the same error:
‘prepareTransaction’ is not supported for replica sets with arbiters",