pluck
can actually be chained to any stream. I'd do this like so:
r.expr([person-id1, person-id2, person-id3])
.eqJoin(function(doc) { return doc; }, r.table("person"))
.zip()
.eqJoin("company_id", r.table("employers"))
.pluck({"right" : "employer_name"}, "left")
.zip()
That gives you all of the "left"
value and only "employer_name"
from the right value.