What is the best way to keep track of Read actions?

I would like to query a collection based on how recently its corresponding documents have been read.

Imagine something like the IOS notes app, where your notes are ordered according to which note you were most recently interacting with.

In my case, this ordering should function across platforms Swift, Kotlin, and Apollo/GQL

So what’s the best way to keep track of reads?

My thinking so far:
The document kets a key, something like ‘lastRead’.
Whenever I handle a response from a document read, I send an update to set ‘lastRead’ to the current time. For example, I get my response from an apollo query, then I fire off a mutation to adjust the ‘lastRead’ key.

Is there a simpler or more efficient way to do this?