位置: 编程技术 - 正文

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

  • 实收资本印花税按次还是按年
  • 没有成本发票怎么缴纳企业所得税
  • 纳税信用等级评定在哪里查询
  • 注销公司详细步骤
  • 终止经营净利润计算公式
  • 通行费发票抵扣要勾选认证吗
  • 专票没有税点
  • 水费3个点税
  • 一般纳税人开红票怎么处理
  • 备用金三栏式明细账图片
  • 小企业销售费用多少算高
  • 设备折旧费用的作用
  • 存货周转次数变高的可能原因是
  • 补发以前年度工资如何计税
  • 负数发票需要抵扣吗
  • 通用机打发票现在还有吗
  • 对于甲供工程,施工方销售额不包括建设方提供的材料款。那么该销售额是否包括设备及动力款?
  • 营改增对小规模的影响
  • 其他应付款需要做预算会计吗
  • 资产负债表中其他流动资产怎么计算
  • 多交增值税如何退回
  • 经营性现金净流量是什么意思
  • 净利润与毛利润那个会大一点
  • 资金账簿印花税申报期限
  • 零余额账户用款额度年末转入什么科目
  • 某市财政收到林业基金收入分录
  • 股权转让要交哪些费用
  • 继承和赠与算夫妻共同财产吗
  • 新办企业装修会计分录
  • thinkphp表单提交
  • 长期待摊费用的概念
  • win10如何禁止安装任何软件
  • windows为什么从7开始
  • php数组函数,选班长
  • 常见造成账目差异的原因
  • 应收账款转让的限制约定
  • 退伍兵自谋职业后被单位辞退怎么办
  • oppor11s输入法怎么清除记忆
  • 有限责任公司股东向股东以外的人转让股权
  • php chr函数
  • transformer的解码器
  • javascriptj
  • linux部署tomcat的war包
  • gcn时间序列
  • php原生导出excel表单元格格式
  • 冲减多计提的工资怎么做账
  • 公司财务人员岗位职责
  • 网站用masonry瀑布流无限加载重叠解决方法
  • mongodb集群启动顺序
  • 广播影视服务税率2023
  • 股东可以领取工资吗
  • 报销单的经办人是什么意思
  • sqlserver服务请求失败或服务未及时响应
  • 发票红冲要去税务局吗
  • 其他货币资金期末有余额吗
  • 发票已抵扣但对方要红冲账务处理
  • 收到分红的会计科目
  • 应付账款多好还是少好
  • 公司购买手表入什么科目
  • 现金流量表中应收账款为负是什么意思
  • 工程一般挂靠取得的收入怎么做账?
  • 无形资产摊销怎么做记账凭证
  • 工程预付款如何扣回
  • 加计抵减10%政策适用范围
  • sqlserver数据库测试工具
  • debian修改中文
  • un_a.exe
  • 五种修改方法
  • centos6.8分区方案
  • linux ftp搭建教程
  • win8开始菜单变为win10
  • windows进程太多
  • python生成二维码添加图片
  • js new option
  • ftp远程桌面
  • linux shell脚本教程
  • nodejs socket框架
  • 在电脑上怎样做word的文档
  • 税务稽查检查笔录范文
  • 长沙房产税如何征收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设