我使用(如建议的in this answer)
从一系列键中选择多个文档r.expr([person-id1, person-id2, person-id3])
.eqJoin(function(doc) { return doc; }, r.table("person"))
.zip()
然后通过
加入第二个表格r.expr([person-id1, person-id2, person-id3])
.eqJoin(function(doc) { return doc; }, r.table("person"))
.zip()
.eqJoin("company_id", r.table("employers"))
.zip()
哪一切都很棒。我想要优化查询的唯一变化是,我只需要雇主表中的employer_name
,因为有相当大的数据与“雇主”文档相关联。因为此查询只包含eqJoins()
,而没有“基础”表,是否有办法完成它?
答案 0 :(得分:5)
pluck
实际上可以链接到任何流。我会这样做:
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()
它为您提供了所有"left"
值,并且只为正确的值提供了"employer_name"
。