位置: 编程技术 - 正文

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排序)

  • 法人股东分红要交企业所得税吗
  • 上个月结余应该做到这个月收入里面吗
  • 土地使用权摊销计入在建工程
  • 物流进项税
  • 公司出售旧汽车要交什么税
  • 加班餐费有发票怎么入账
  • 社保缴费基数的组成部分
  • 辞退员工赔偿计算公式
  • 权益性支出与收益性支出区别
  • 减免50%的城建税分录怎么做?
  • 劳动竞赛费用在什么科目列支做会计分录?
  • 冲抵货款的返利怎么做账
  • 公司成本可以抵扣税吗
  • 应征消费税的汽车为啥不能抵扣
  • 增值税负数如何计算
  • 公司利润怎么提出来给老板
  • 健身房会计一般做什么
  • 资产负债率怎么计算
  • 增值税进项抵扣完了还上附加税吗
  • 毛利润和纯利润的计算公式
  • 文化事业建设费税收优惠政策2023
  • 银行现金日记账表格
  • 如何关闭edge浏览器下载保护
  • 实发工资和报税工资
  • 苹果手机记事本提醒如何设置
  • 软件远程调用失败是什么意思
  • 如何在局域网内发布网页
  • PHP:mcrypt_enc_self_test()的用法_Mcrypt函数
  • 代开发票所需的资料?
  • 增值税专用发票上注明的价款含税吗
  • 加计扣除符合的条件
  • vue修改表格数据
  • framework3.5怎么打开
  • 什么是多模态研究
  • php_curl.dll
  • 自制原始凭证代码怎么填
  • 深究Python中的asyncio库-线程池
  • ps抠图之后怎么拿出来
  • 企业对于预支工资的建议
  • 火车票抵扣进项税需要认证吗
  • 材料暂估入库如何进行账务处理
  • 开具劳务费发票的资料
  • SQLite教程(十):内存数据库和临时数据库
  • 新会计制度对会计人员的影响
  • 一般纳税人企业所得税怎么征收
  • 长期股权投资其他资本公积
  • sql 列转行
  • 收到现金股利是什么意思
  • 消费税会计处理的设置
  • 行政事业单位应用方案总账,财务分析
  • 开票方未缴税,为何要追回付款方的退税款
  • 企业将购进的原材料分录
  • 电商商品采购流程
  • 如何在科目余额表中查询给另一家公司付了多少钱
  • 待认证进项税额是二级科目还是三级科目
  • 未达到起征点的增值税怎么填写
  • 兼职人员属于雇佣人吗
  • 工程发票可以作废吗
  • 高新技术企业退出机制
  • 该卡已在其他账户中存在什么意思
  • 索尼vpcea200c笔记本
  • 电脑输入systeminfo
  • win10系统永久激活软件
  • win10电池图标不动
  • 升级win10系统后电脑变卡处理方法
  • vi 技巧
  • 微软win8.1
  • 域名解析a记录怎么填
  • ext.grid.editorgridpanel
  • 新闻客户端手机版下载
  • Time、Set、Smartdrv命令的使用方法
  • csshtml经典案例
  • shell脚本编写步骤
  • wc -l命令
  • 简述javascript
  • jquery中ajax处理跨域的三大方式
  • unity learning
  • 安卓点赞脚本
  • 申报印花税显示未维护营行业信息
  • 车辆购置税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设