disallow changing shardkeys in replace()