位置: 编程技术 - 正文

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

  • 计提税费如何写分录
  • 利润总额×12%
  • 税务大厅可以开票吗
  • 个人非专利技术转让属于什么收入
  • 远期汇票分为哪几种
  • 结转入库材料计划成本的会计分录例题
  • 计提房屋折旧会计分录
  • 固定资产抵扣期限
  • 折旧和摊销可以没有吗
  • 企业可根据实际情况随意设置会计科目
  • 公司购入房产账务处理
  • 个体工商户个税减免优惠政策
  • 企业的哪些活动属于投资活动?
  • 房屋修缮费交增值税吗
  • 年金的缴费基数
  • 高新企业国家补助收入怎么入账
  • 计提工资是计提当月的还是上个月的
  • Win10专业版家庭版企业版
  • 民间非盈利组织会计要素组成
  • 视同销售有哪些?
  • 收到负数发票怎么办
  • 收到投资方投入设备一台,投资合同约定其价值
  • 开具红字发票后所冲销的销项税应怎么处理?
  • win11如何添加快捷方式
  • linux shell语句
  • php array_replace
  • 电力安装工程辅料有哪些
  • 其他综合收益属于什么科目借贷
  • 第一启动盘设置为u盘
  • 苹果取消macbook
  • win11怎么清理内存
  • 保证金结息的会计分录
  • 月底增值税怎么计提
  • PHP:pg_lo_truncate()的用法_PostgreSQL函数
  • win7纯净版系统之家
  • 外单位承担
  • 结转本月收入类账户到本年利润
  • php 创建对象
  • 微信支付开发包
  • php不执行
  • 独立核算的分公司可以享受小微企业吗
  • 装修费摊销3年会计分录
  • 销售旧货税率
  • 机关单位差旅费
  • 织梦的css样式在哪
  • 差额纳税的劳务派遣安保服务征收率
  • 财政拨付注册资本金说明
  • CentOS 7下MySQL服务启动失败的快速解决方法
  • 商业保险如何做伤残鉴定的
  • 个体工商户公帐转法人私人账户
  • 跨月发票作废怎么做会计分录
  • 顺流交易为什么不考虑出售比例
  • 自制产品无偿赠送合法吗
  • 先计提所得税还是先出报表
  • 兼职工资怎么做账
  • 供应商退回来的钱应走哪个科目
  • 2008sql附加数据库
  • win8更改系统字体
  • win10禁用windows键
  • wlanplus是什么软件
  • macbook pro怎么分区
  • centos设置服务自启动
  • 关于windows的说法正确的是
  • logd是什么进程
  • 远程电脑屏幕桌面图标什么都没有了
  • WIN10怎么卸载更新
  • WIN10安装教程
  • css中dl
  • perl脚本教程视频
  • node创建服务
  • unity开发手游
  • 举例讲解水生花卉栽培管理
  • 怎么用js实现滑动效果
  • jquery怎么修改样式
  • Python对象转列表
  • 公司代扣税怎么办理
  • 电子税务局用户名和密码是什么
  • 江苏电子税务局官网登录入口
  • 审计验资费计入什么科目
  • 房契税发票丢了能补办吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设