我一直在努力去适应Merge的gorethink(RethinkDB在围棋驱动程序)
result,err:=r.Table("quote").GetAllByIndex("idUser",idUser).
OrderBy(r.Desc("created_at")).Merge(func(row r.Term) interface{}{
res,_:=r.Table("article").Get(row.Field("idArticle")).Run(session)
// TODO
return map[string]interface{}{
// TODO
}
}).Run(session)
我有3个类别:article,quote,和user
通过上述功能,我打算:
通过idUser查询所有报价文件
对于我得到的每个报价,我想使用其各自的 idArticle 字段在文章集合中进行查询
使用 idArticle 获取适当的文档后,我使用它来查询该文档的关键字字段
最后,我将关键字数组合并到每个报价文档中
在 RethinkDB 的 JavaScript API 中,我是这样实现的:
findAllByUser = function(idU){
return r.table(table)
.filter({idUser: idU})
.orderBy(r.desc('created_at'))
.merge(function(quote){
var article = r.table('article').get(quote('idArticle'));
return {
tags: {keywords: article('keywords')}
}
})
.run(connection)
.then(function(result){
return result.toArray();
});
}
但我仍然没有设法在 gorethink 中做同样的事情。如何获取 的值Term row.Field("idArticle")并将其用于以后的查询和Merge?
慕丝7291255
四季花海
相关分类