Използвайте $elemMatch за намиране на вложен масив и $ във вашата проекция, така че потърсете по-долу:
Meteor.users.findOne({
"_id": userId1,
"profile.friends": {
"$elemMatch": {
"_id": userId2
}
}
}, {
"profile.friends.state.$": 1
})