我有一个数据库,其中包含一个包含用户信息的文档列表,另一个包含用户日志文档的数据库。
在SQL
中,可能只是使用join
,但似乎只用一个简单的查询就无法做到这一点。
我做了一些研究,一些建议显示:
1:将所需数据复制到数据库然后执行视图,因为需要的数据现在位于同一个数据库中。
另一个建议是
2:从每个数据库中提取所需的数据,然后运行查询。
我想,比较1和2之间,最好选择1作为http
以外的数据。
但无论是1还是2,它们仍然不足以作为数据重复。
有人可以推荐更好的建议吗?
由于
示例:
DB_USER.Doc_User_A:{userID:A,userName:Mr A,userEmail:A@A.com}
DB_LOG.Log_2013_11_11:{userID:A,log:Hello}
期待有时候像[A先生,2013_11_11,你好]
答案 0 :(得分:0)
您需要将用户和日志数据放在同一文档中,如下所示:
{id:1, user_id:123, type:'user', name:'maria'},
{id:2, user_id:123, type:'log', description:'test test test '},
{id:3, user_id:123, type:'log', description:'test1 test1 test1'},
{id:4, user_id:135, type:'user', name:'joão'},
{id:5, user_id:135, type:'log', description:'lalalalal lalallala '},
因此,当您创建map reduce时,您可以通过user_id发出doc和query:
function(doc) {
emit(doc.user_id, doc);
}
然后,只需一个请求,您就可以通过一个请求获得所需的所有信息。
要求您提供一种类型:
function(doc) {
if (doc.type=='user'){
emit(doc.user_id, doc);
}
}