龙空技术网

MongoDB 多表联查

Candy.W 275

前言:

今天姐妹们对“mysql查询两个数据库的表”都比较讲究,我们都需要学习一些“mysql查询两个数据库的表”的相关知识。那么小编也在网摘上搜集了一些关于“mysql查询两个数据库的表””的相关资讯,希望兄弟们能喜欢,姐妹们一起来了解一下吧!

在使用mongodb 的过程中,经常会有需求要去关联多表去查询,但 mongo 这种非关系型 数据库的使用规则大大的不同于mysql 这种关系型数据库,无法通过简单的sql 语句去完成多表联查,所以需要使用js 的语法去达成需求。

以下是在工作过程中使用到的两个示例:

1、通过联查user_login 与accounts 两张表,实现查询一个手机号两个不同的会员使用的情况:

var count=0;var c1=db.user_login.find({logicalDel:0,primaryPhone:{$exists:true}},{_id:0,id:1,primaryPhone:1});while(c1.hasNext()){     var c2=c1.next();      var num=db.accounts.find({phone:c2.primaryPhone,id:{$ne:c2.id},logicalDel:0}).count();     if(num >= 1){          count=count+1;          print(c2.primaryPhone);     }}print(count)

2、login表里面的数据登录正常,但是profile表里面无相关的数据:

var count=0;var c1=db.login.find({loginUpdate:"true",logicalDel:0},{_id:0,id:1});while(c1.hasNext()){     var c2=c1.next();      var num=db.profile.find({$and:[{userId:c2.id},{logicalDel:0}]}).count()     if(num == 0){          count=count+1;          print(c2.id);     }}print(count)

以上两个示例精简短小,非常易于理解与实践。

标签: #mysql查询两个数据库的表 #mongodb查询sql