当前位置: 首页 > news >正文

本地网站做淘宝客制作app步骤

本地网站做淘宝客,制作app步骤,房地产首页设计,公司网络营销推广软件MongoDB跨表跨库查询 1.数据准备#xff1a;2.跨集合查询3.跨库查询应该怎么做#xff1f; 讲一个简单的例子#xff0c;python连接mongodb做跨表跨库查询的正确姿势 1.数据准备#xff1a; use order_db; db.createCollection(orders); db.orders.insertMan… MongoDB跨表跨库查询 1.数据准备2.跨集合查询3.跨库查询应该怎么做 讲一个简单的例子python连接mongodb做跨表跨库查询的正确姿势 1.数据准备 use order_db; db.createCollection(orders); db.orders.insertMany([{_id: 1,order_number: ORD123,product: Laptop,customer_id: 101},{_id: 2,order_number: ORD124,product: Smartphone,customer_id: 102},{_id: 3,order_number: ORD125,product: Tablet,customer_id: 103} ])use customer_db; db.createCollection(customers); db.customers.insertMany([{_id: 101,name: John Doe,email: johnexample.com,address: 123 Main St},{_id: 102,name: Jane Smith,email: janeexample.com,address: 456 Oak Ave},{_id: 103,name: Bob Johnson,email: bobexample.com,address: 789 Pine Blvd} ]);2.跨集合查询 from pymongo import MongoClient## Joint Table Quety # 连接到 MongoDB 数据库 client MongoClient(mongodb://admin:adminlocalhost:27017/)# 选择数据库和集合 db_orders client.order_db.orders db_customers client.customer_db.customers# 执行跨表查询 pipeline [{$lookup: {from: customers,localField: customer_id,foreignField: _id,as: customer_info}},{$unwind: $customer_info},{$project: {_id: 1,order_number: 1,product: 1,customer_info.name: 1,customer_info.email: 1}} ]result list(db_orders.aggregate(pipeline))# 打印结果 for order in result:print(order)分析 经过代码测试会发现pipeline走到lookup结束customer_info为空lookup是作用于单个数据库下的不同集合之间的联合查询但不支持跨库而网络上充斥着所谓支持跨库查询的案例。。。 因此将collection放于同一个db下发现结果符合预期。 3.跨库查询 应该怎么做 思考想象我们做的业务通常都是模块化的之间都是通过服务/应用层接口调用来实现的其底层正对应着不同的数据库。比如常见的订单系统和用户系统因为集中式管理(单个数据库)容易造成性能瓶颈会按业务进行合理拆分也更容易复用和拓展。 所以所谓的跨库查询实际上就跟业务之间的通信是类似的这里并不是单库下的主外键查询问题而是实际场景中多库下多个服务之间的数据互通与一致性查询问题一般处理手段是将一些联合查询问题放到业务层解决当然针对做不同数据库的相同表做同步复制也是可以的不过显然这与业务拆分的初衷相违背了。 以下是简单的sample,样例数据保持不变 from pymongo import MongoClient## Cross Database Query# 连接到 MongoDB 数据库 client_db1 MongoClient(mongodb://admin:adminlocalhost:27017/) client_db2 MongoClient(mongodb://admin:adminlocalhost:27017/)# 选择数据库和集合 customer_db client_db1.customer_db order_db client_db2.order_dbcustomers_collection customer_db.customers orders_collection order_db.orders# 查询 orders 数据 orders_data list(orders_collection.find()) # 查询 customers 数据 customers_data_dict {customer[_id]: customer for customer in customers_collection.find()} # 手动关联数据 result [] for order in orders_data:customer_id order.get(customer_id)# 在 customers 数据中查找匹配的 customer_idmatching_customer customers_data_dict.get(customer_id)if matching_customer:# 合并数据merged_data {**order, customer_info: matching_customer}result.append(merged_data)# 打印结果 for item in result:print(item) 结果符合预期
http://www.w-s-a.com/news/469826/

相关文章:

  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设
  • 斗图在线制作网站搜索关键词优化
  • 大连 网站建设 有限公司十大erp系统
  • 网站后台建设软件网络营销公司招聘
  • 做网站销售电销好做吗网站开发毕业设计代做
  • 成都学网站建设费用帝国cms与wordpress
  • 如何刷网站排名品牌设计的英文
  • 富阳有没有做网站的房产局官网查询系统
  • 建设网站列表aliyun oss wordpress
  • 做PPT的辅助网站wordpress拖拽式主题
  • 商城网站源码seo兼职58
  • 汽车租赁网站的设计与实现全网营销推广哪家正规
  • 做网站时怎么取消鼠标悬停如何设计软件界面
  • 建德网站设计公司中国十大热门网站排名
  • 网站与新媒体建设测评方案163企业邮箱官网入口
  • 怎样做下载网站页面设计参评
  • 哈尔滨住建局网站首页设计制作过程
  • php投资理财企业网站模板网站呼叫中心 建设工期