位置: 编程技术 - 正文

Mongodb实现的关联表查询功能【population方法】(mongodb介绍)

编辑:rootadmin

推荐整理分享Mongodb实现的关联表查询功能【population方法】(mongodb介绍),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb的aggregate,mongodb的aggregate,mongodb的基本操作,关于mongodb的全面总结,mongodb的语句,mongodb的aggregate,关于mongodb的全面总结,mongodb用法,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Mongodb实现的关联表查询功能。分享给大家供大家参考,具体如下:

Population

MongoDB是非关联数据库。但是有时候我们还是想引用其它的文档。这就是population的用武之地。

Population是从其它文档替换文档中的特定路径。我们可以迁移一个单一的文件,多个文件,普通对象,多个普通的对象,或从查询中返回的所有对象

populate 方法

populate 方法可以用在 document 上、 model 上或者是 query 对象上,这意味着你几乎可以在任何地方调用这个方法以填充你的引用字段。

当然,populate 方法在不同对象上参数不大一样,但是都接收一个option的参数,你可以用这些参数指定:

语法:Query.populate(path, [select], [model], [match], [options])

path:以空格分隔的引用字段的名称 String 或 Object类型,String 类型的时, 指定要填充的关联字段,要填充多个关联字段可以以空格分隔。Object 类型的时,就是把 populate 的参数封装到一个对象里。当然也可以是个数组

select: Object 或 String ,可选,指定填充 document 中的哪些字段。Object 类型的时,格式如: {name: 1, _id: 0} ,为 0 表示不填充,为 1 时表示填充。String 类型的时,格式如: "name -_id" ,用空格分隔字段,在字段名前加上 -表示不填充。详细语法介绍 query-select

match: 可选,指定附加的查询条件

Mongodb实现的关联表查询功能【population方法】(mongodb介绍)

model: 可选,指定关联字段的 model,如果没有指定就会使用 Schema的 ref

options: Object 可选,指定附加的其他查询选项,如排序以及条数限制等等

引用字段的类型

目前,Mongoose 只支持以下几种引用字段的类型:

ObjectIdNumberStringBuffer

而且自然而然,引用 document 的主键类型必须和引用字段类型相对应。在生产环境中,推荐主键类型和引用类型都使用 ObjectId ,一是因为 ObjectId 不包含业务含义,二是 ObjectId 不大可能重复,三是因为 Mongoose 默认生成的主键类型就是 ObjectId ,可以减少很多配置的操作。

例子

Scheme先定义好,关联属性

AScheme:

BScheme:

关联查询

更多相关内容还可参考:

解决MongoDB 排序超过内存限制的问题 对集合执行一个大排序操作(如聚合),出现以下错误:(测试版本:MongoDB3.0.6)db.bigdata.aggregate({$group:{_id:"$range",total:{$sum:1}}},{$sort:{total:-1}});#...aggregat

在Linux服务器中配置mongodb环境的步骤 1、到mongodb官网下载一个合适的linux环境安装包如下图,放到本地的某个角落,要记得位置哦~2、然后你需要有一个服务器,并进入sshroot@你的IP//回车输

Windows下MongoDb简单配置教程 如何在Windows下对MongoDb进行简单的配置,本文为大家解答。以管理员的启动cmd进入安装目录下输入:mongod--auth--port--dbpath=库地址--logpath=全地址--install-

标签: mongodb介绍

本文链接地址:https://www.jiuchutong.com/biancheng/312659.html 转载请保留说明!

上一篇:基于MongoDB数据库索引构建情况全面分析(mongodb使用案例)

下一篇:解决MongoDB 排序超过内存限制的问题(mongorepository排序)

  • 地方教育附加税税率多少?
  • 社保局发放的稳岗补贴怎么入账
  • 暂估成本跨年后收到票汇算清缴
  • 软件租赁费计入哪个科目
  • 企业所得税计入什么费用
  • 购货方收到红字发票
  • 生产车间人员工资属于什么费用
  • 先预付一部分货款分录
  • 往来款少付零头怎么入账
  • 工程维修费用怎么入账
  • 劳务公司开票是开劳务费还是工程服务
  • 从农民手中购买农产品税率
  • 小型连锁药店需要报国税吗?
  • 印花税少于1元怎么处理
  • 垃圾填埋沼气发电招聘
  • 财务报表依据的会计记录
  • 公司买汽车怎么做内账
  • 季初从业人数和季末从业人数怎么填
  • 小规模自开专票税率是1%还是3%
  • 分配股利在报表中怎么填
  • 网络不通怎么拼ip
  • 如何增强无线网卡的接收能力
  • 估计退货的会计分录
  • 专用发票红字发票
  • 长期股权投资评估报告模板
  • 沙盘模型制作费用
  • 美容店销售收入怎么算
  • 如何检查文档
  • 强制关闭mac系统的快捷键
  • 修改插入点闪烁光标的宽度
  • mac休眠后黑屏无法开机正常吗
  • schedulerv2.exe - schedulerv2是什么进程 有什么用
  • 垫付员工保险费的会计科目
  • php随机函数是什么
  • php中imagecreatefromjpeg
  • 股权投资取得的收入计入什么科目
  • 资产负债表包括什么科目
  • pytorch开源项目
  • 尚硅谷docker笔记
  • 10qps是多少并发
  • timestamp 0
  • 软件开发费属于什么费用
  • 打车费属于差旅费吗
  • 出纳造工资表吗
  • python send_from_directory
  • 企业的净资产包括固定资产吗
  • 工程款增值税专用发票需要写工程名称吗
  • 企业利润表表怎么看
  • 会计中级工作年限截止日期
  • 生物资产包括哪两类
  • 税法税前扣除
  • 会计账簿错误处理方式
  • 汽车4s店收到保险佣金做账
  • 残疾人就业保障金会计分录怎么做
  • 买一件商品赠送两个商品
  • 支付平台费率
  • 搬迁所得
  • 三代手续费企业所得税
  • 管理费用通俗理解
  • 企业采用公允价值进行会计核算,所体现的会计质量要求
  • mysql Community Server 5.7.19安装指南(详细)
  • 华硕笔记本电脑官网
  • 如何让电脑系统更快
  • mac 系统查看
  • Ubuntu系统怎么设置IP
  • PSof1.exe - PSof1是什么进程 有什么作用
  • linux命令行图片
  • w10系统如何
  • script_tool_for_windows.bat Windows 环境下的 hosts 一键部署脚本
  • eclipse cocos2dx Command line too long
  • cocos creator源码
  • Unity3D游戏开发(第2版)pdf
  • cpu时钟预取实例是什么
  • Node.js中的包管理工具是什么
  • node语句
  • python神奇的小海龟
  • uk开票软件如何赋码
  • 小规模纳税人可以开13%的发票吗
  • 国税怎么打印申报表
  • 怎么查了?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设