node mysql 跨库查询_nodejs 在mongodb在跨数据库之中如何进行关联起来查询,并且支持筛选关联表的条件进行查询...
"班级数据库": "mongodb://192.168.3.17/xxx
"学生数据库": "mongodb://192.168.3.99/xxx (只读)使用 mongoose.createConnection 进行链接2个数据库
classId 是唯一并且不会重复的。
学生数据库是只读的,并且数量非常大,并随时可能更新。
查询主要有2个问题:mongodb://xxx , 两个不相同ip数据库如何关联起来分页查询
传入cj查询班级只返回符合条件的班级列表、并且可能有其他同时筛选班级表的条件
班级表 mongodb://192.168.3.17/xxx{ "_id" : 1, "name" : "高二(1)班", classId:"a1"}
{ "_id" : 2, "name" : "高二(2)班", classId:"a2"}
{ "_id" : 3, "name" : "高二(3)班", classId:"a3"}
学生表 mongodb://192.168.3.99/xxx{ "_id" : x1, classId:"a1", "user" : "张三", "cj":['88','75']}
{ "_id" : x2, classId:"a2", "user" : "李四", "cj":['88','33','99']}
直接查询班级并关联学生表的列表为count:2,
list: [
{
"_id" : 1,
"name" : "高二(1)班",
classId:"a1",
xsxx:{
"_id" : 'x1',
classId:"a1",
"user" : "张三",
"cj":['88','75']
}
},
{
"_id" : 2,
"name" : "高二(2)班",
classId:"a2",
xsxx:{
"_id" : 'x2',
classId:"a2",
"user" : "李四",
"cj":['88','33','99']
}
},
]
查询条件是 cj = ['33'] 时count: 1,
list: [
{
"_id" : 2,
"name" : "高二(2)班",
classId:"a2",
xsxx:{
"_id" : 'x2',
classId:"a2",
"user" : "李四",
"cj":['88','33','99']
}
},
]
我通过网络搜索的答案如下,并没有帮助到我。$lookup: {
from: "学生表", // 关联到学生表
localField: "classId", // 班级表关联的字段
foreignField: "classId", // 学生表关联的字
as: "学生信息"
}
我在graphql的做法是使用resolver调用查询班级表.addRelation('学生对象信息', {
resolver: () => 学生表.getResolver('findOne'),
prepareArgs: {
filter: (source) => {
return { classId: source.classId }
}
},
projection: { openid: true }
});
node mysql 跨库查询_nodejs 在mongodb在跨数据库之中如何进行关联起来查询,并且支持筛选关联表的条件进行查询...相关推荐
- 战神mysql账号库_战神引挚手游数据库解析mysql/mir
mysql/mir库: awardplayer 领养账号 字段: Idx 编号 PTID PTID HumName 人名 Level 人物等级 job 职业 sex 性别 Status 帐号状态 fi ...
- node mysql 增删改查_Nodejs操作MySQL - 增删改查
先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...
- mysql sys库 oom_MySQL 5.6因为OOM导致数据库重启
MySQL 5.6因为OOM导致数据库重启 发布时间:2020-08-09 08:29:53 来源:ITPUB博客 阅读:89 作者:feelpurple 线上的一套MySQL 5.6的从库,因为OO ...
- mysql 创建库 用户名_MYSQL-给带特殊符号的数据库创建用户名
MYSQL-创建数据库及用户名: mysql> create database yoon; Query OK, 1 row affected (0.00 sec) mysql> grant ...
- MySQL源码学习:MySQL中禁止跨库访问的实现
摘要: 先说一下这里"跨库"的意思:当前use的是db1, 仍可以使用select * from db2.table1来访问table1表. 这样使得我们需要访问同一个MySQL ...
- SQL注入—跨库注入
SQL注入-跨库注入 1.SQL注入-跨库注入 1.1.前言 1.2.跨库注入介绍 2.跨库注入 2.1.跨库注入准备 2.2.跨库注入流程 2.2.1.判断是否为管理员权限 2.2.2.获取数据库下 ...
- SQL Server 跨库同步数据
最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是op ...
- mysql 备库同步_MYSQL主从库同步配置过程
MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...
- Best Efforts 1PC 跨库事务
Best Efforts 1PC 跨库事务 一.背景介绍 分布式事务主要解决两种事务问题,一个是跨库事务,另一个是跨服务事务:跨库是指在一个事务里面包含多个数据源的数据库操作.跨服务是一个事务中包行多 ...
最新文章
- c++中const与函数一起用的时候需要注意什么?
- seq2seq里的数学
- backbone.js全栈开发
- go语言复数包_go语言学习之包和变量详解
- 开正交时候卡顿_王者荣耀:不管用WiFi还是流量都是卡顿咋办!4个办法让你变流畅...
- 我的第一个python web开发框架(2)——一个简单的小外包
- 从头開始写项目Makefile(三):变量的使用
- c mysql连接池_在LINUX下用C/C++写了一个连接池(访问MYSQL)的类
- 弹出新窗体 winform 1615018696
- 《Algorithms》Comparable 实现排序大全
- batocera整合包_模擬器作業系統RetroPie更新至4.6,支援Raspberry Pi 4、新增NeoGeo CD模擬功能...
- springboot2.x整合Email并利用AOP做一个项目异常通知功能
- TuxOnIce! 休眠到硬盘[zt]
- GridView中使用DropDownList的OnSelectedIndexChanged事件
- Gradle下载及安装
- DOS (Windows)命令详解
- ssh框架的基本运用
- 电脑插入了U盘却读取不出来的方法
- DEV中右键菜单如何只在非空单元格上显示?
- Android 蓝牙驱动专题分析(2)--- 蓝牙驱动代码流程、kernel dump、tombstone问题分析
热门文章
- TOP命令监视系统任务及掩码umask的作用
- libgdx游戏引擎开发笔记(十三)SuperJumper游戏例子的讲解(篇七)----各个物体的创建及其碰撞检测...
- 微软中文网,越办越好了!
- 不使用比较运算符如何比较两个数的大小
- 怎么把pdf转换为html,如何将PDF转换成HTML网页格式呢?
- centos查找linux大文件,centos中查找出大文件命令汇总
- oracle实例的概念组成,oracle体系结构的两个基本概念:数据库和实例
- eclipse配置python开发环境_eclipse怎样搭建Python开发环境
- Java BigInteger类| isProbablePrime()方法与示例
- MySQL 精选 60 道面试题(含答案)