Użyj $elemMatch do znajdowania zagnieżdżonej tablicy i $ w swojej projekcji, więc zapytaj jak poniżej:
Meteor.users.findOne({
"_id": userId1,
"profile.friends": {
"$elemMatch": {
"_id": userId2
}
}
}, {
"profile.friends.state.$": 1
})