位置: 编程技术 - 正文

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

  • 公司法人和经理承担责任一样吗
  • 小规模普通发票要交税吗
  • 农产进项税是多少税率
  • 个体户查账征收需要交什么税
  • 公司之间往来款需要开收据吗
  • 开票打印机可以自己买吗
  • 小规模印花税是季报还是月报
  • 非破产清算会计案例
  • 从国外购进样品要交税吗
  • 委托加工产品月末结转成本
  • 进出口贸易中押金怎么算
  • 不能税前扣除的费用有哪些
  • 财产租赁所得个人所得税计算方法2020
  • 按公允价值计量是什么意思
  • 研发部门属于哪个会计科目
  • 小规模纳税人网上申报流程视频
  • 预缴税款多缴了怎么办
  • 小规模附加税减免政策2023
  • 对公账户验证款怎么记账
  • 金融机构计提减值准备
  • 工程物资期末余额的填列方法
  • 金蝶怎么一次性删除所有分录
  • 佣金可以开票吗
  • 应交增值税和实缴增值税差额怎么做账
  • vmware10虚拟机安装
  • 房地产企业何时结转利润
  • 公司给员工的油费补贴以什么为依据入账
  • kindle屏幕黑斑
  • 多台电脑如何建立局域网
  • 提示内存不足
  • kb4592440安装失败
  • 织梦地图插件
  • 原始凭证和审计证据的关系
  • 存货采购成本有余额吗
  • 营改增前取得的有形动产为标的物
  • 即征即退实际退税额35栏可以不填吗
  • 当月未付款算在次月吗
  • 酒店低值易耗品怎么摊销
  • pythonif嵌套语句
  • centos7.9 防火墙
  • python apriori算法
  • 生产车间用电的进项税额可以抵扣吗
  • 餐饮业会计做账怎么做
  • 经营户个人所得税
  • 个人所得税申报教程
  • 资本公积占比多少合适
  • 贷款用途不符合规定有啥危害
  • 转让技术所有权是其他业务收入吗
  • 罚款支出算费用吗
  • 电脑开票怎么操作流程
  • 专票和普票的区别税点差多少
  • 营业外收入的主要核算内容
  • Linux虚拟机下mysql 5.7安装配置方法图文教程
  • windows10秋季创意者更新
  • 苹果15手机价格和图片颜色
  • centos下载教程2020
  • suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
  • vc++6.0运行程序
  • linux如何列出所有用户
  • linux去掉文件换行符
  • windows任务管理器占用cpu过高
  • centos 7 安装
  • 重装win7系统后屏幕变小了
  • win7 win10 win8
  • po|iceofficer是什么意思
  • windows10x预览版
  • 冗余文件是什么意思
  • 深入解析抑郁症:什么是它的表现?别小看它的危害程度!
  • 创建表格在哪里找
  • python有没有翻译库
  • rapidjson使用
  • Android-ViewPager使用示例
  • 文本框css关闭输入框
  • python的pip安装命令
  • vue怎么实现多页面
  • js合并字符串
  • 上海税务ca证书更新
  • 企业所得税季申报表
  • 跨区迁移税务需要注销吗?
  • 税务非正常认定条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设