O driver node.js
findOne
tem uma assinatura de chamada diferente do findOne no shell do MongoDB. Você passa o objeto de seleção de campo como a projeção elemento das opções parâmetro:dbo.collection("users")
.findOne({"friends.email": email},
{projection: { friends: { $elemMatch: { email: email } } } },
function(errT, resultT) {...});