Hai bisogno di un indice univoco. Qual è lo scopo del tuo modello? Vuoi un record per una persona e ReceivedAt è l'ultima volta che è stata "ricevuta" o è più simile a un evento ogni volta che è stata "ricevuta" dovrebbe essere qui una volta? Crea un indice univoco su (Nome, Titolo) o (Name,Title,ReceivedAt). Poiché DateTime.Now aumenterà durante l'esecuzione, vedrai più "prima volta" nel secondo caso. Nel primo caso, dovresti cambiare ReceivedAt da SetOnInsert a solo Set.