Nella prima query, dopo la fase a gironi, il valore dello screen name dell'utente viene salvato sotto il _id
chiave. Non sotto il user.screen_name
chiave, quindi, quel valore non sarà proiettato
poiché non c'è chiave.
Se modifichi la tua proiezione, usando
{"$project": {"_id": "$_id", "count": 1, "tweet_texts": 1}},
o
{"$project": {"_id": 1, "count": 1, "tweet_texts": 1}},
o
{"$project": {"count": 1, "tweet_texts": 1}},
la prima pipeline sarà simile alla seconda pipeline.