位置: 编程技术 - 正文

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

  • 离境退税政策文件
  • 企业所得税税前扣除管理办法
  • 消费税在哪个环节可以抵扣
  • 金税四期可以查个人账户吗
  • 员工宿舍买热水器计入什么费用
  • 增值税纳税申报表附列资料(二)
  • 同一笔业务可以开多张发票吗
  • 非货币性资产交换固定资产清理
  • 企业抽奖用的奖品有哪些
  • 装订凭证要如何写
  • 简易征收货物的运费
  • 专用发票密码区显示数电票号码
  • 增值税发票普票和专票有什么区别
  • 企业收到银行利息收入2000元会计分录
  • 先开票还是先预约
  • 债权人和债务人是什么意思
  • 法人借给公司钱怎么备注
  • 制造费用结转到主营业务成本
  • 营改增前甲供材施工企业如何缴纳企业所得税
  • kb4586853更新
  • 艾叶泡脚的功效与作用及禁忌
  • vue 大屏可视化设计 开源
  • mc office是什么意思
  • 持有至到期投资减值准备
  • 企业银行贷款利率2023
  • 交强险必须交车船税一年多少钱
  • 未交土地出让金的处罚
  • 房地产企业土地出让金抵减销项税额
  • php不能通过浏览器运行吗
  • 增值税报表填报说明
  • 准确率精确率
  • php image
  • php中文字符串截取
  • laravel 自定义guard
  • echarts 官网
  • 公司购买承兑
  • 核销已计提坏账的应收账款
  • node.js最新版本
  • 费用科目在贷方表示
  • 土石方工程开票范围
  • 材料暂估入库的依据有哪些
  • 开始送加盟费
  • 开票项目与实际不符合
  • 电子发票的开具开具方式是?
  • 小企业长期债券投资
  • sql函数的作用
  • 房屋租赁水电费计入什么科目
  • 自产商品对外赠送
  • 政府补助收入是指
  • 施工项目部主要职责
  • 装修费用是当月支付吗
  • 预付款开了增值税专票怎么办
  • 单位买另一单位的保险
  • 普票与专票有什么区别报销
  • 企业应付职工薪酬增加说明什么
  • 企业购买黄金如何入账
  • 企业要建账需留什么资料
  • win7系统开启telnet服务
  • 组装电脑光盘分几种
  • 虚拟机怎么不能玩游戏
  • win7 24小时制
  • win7微软账户
  • cocos2dx4.0入门
  • macbook编译java
  • mac安装osx失败
  • 对qucik cocos2dx lua SocketTCP的再一次封装,导入全局实例,包含自定义事件
  • jquery和css的区别
  • python pip版本更新
  • 文章标题用几号字体
  • python3.5 + PyQt5 +Eric6 实现的一个计算器代码
  • android sdk loader的问题
  • 游戏引擎在游戏开发中的核心作用
  • 22号天蝎座的运势
  • 工具类软件有哪些
  • javascript的介绍
  • 演员个人所得税2023
  • 在深圳居住的香港居民怎样办理边境地区通行证
  • 建筑行业增值税税收优惠政策
  • 13%增值税发票怎么抵扣
  • 合肥地税局上班时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设