1、mongoose中一个数据模型Product(商品)关联另外一个数据模型Brand(品牌)需要使用ref,关联查询使用populate
Product模型

new mongoose.Schema({// 商品名称name: { type: String, required: true, validate: /\S+/ },// 商品内容content: { type: String, required: true, validate: /\S+/ },// 关联的品牌brand: { type: mongoose.Schema.Types.ObjectId, ref: 'Brand' }...

Brand模型

new mongoose.Schema({// 品牌name: { type: String, required: true, validate: /\S+/ },// 品牌图片img: { type: String, required: true, validate: /\S+/ }...

2、查询使用populate

// 过滤条件
const options = {sort: { _id: -1 },page: Number(page),limit: Number(size),// populate: ['brand', 'tag'],populate: [{ path: 'brand', select: 'name' }, 'tag'],select: '-password -content'
};// 查询参数const keywordReg = new RegExp(keyword)const query = {"$or": [{ 'name': keywordReg },{ 'slug': keywordReg },{ 'description': keywordReg }]}const ones = await Product.paginate(query, options)

3、注意上段代码中

populate: ['brand', 'tag'],

brand所有字段都返回

populate: [{ path: 'brand', select: 'name' }, 'tag'],

brand返回name字段

mongoose populate 返回 指定 字段相关推荐

  1. query builder python-elasticsearch返回指定字段

    1. postman 请求elasticsearch 返回指定字段 1.直接在请求体当中,json 数据,对应的是一个列表 { "_source":["title&quo ...

  2. MongoDB 添加、查询(条件查询、排序、分页、返回指定字段)、修改、删除数据、聚合aggregate

    MongoDB内部支持JavaScript语法,使用SpiderMonkey作为内部的JavaScript解释器引擎. 1.常用命令 show databases:显示数据库列表 use:切换数据库 ...

  3. mongo 查询显示字段_MongoDB查询指定字段(field)返回指定字段的方法

    使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *.在MongoDB里面映射(projection)声明 ...

  4. MongoDB查询返回指定字段

    使用MongoDB查询,有时候结果只需要返回指定的字段 用法: db.collection.find(query, projection) 参数: 参数 描述 query 是可选参数,基于查询操作符指 ...

  5. mongoose 查询 find 指定字段

    在第二个参数中填写字符串,需要查询的字段用空格相连. const Person = mongoose.model('Person', yourSchema); // 查询每个 last name 是 ...

  6. java匹配字段返回成功,Java MongoTemplate查询返回指定字段及指定数量的数据

    假设我有一个实体类Article @Data @Document(collection = "articles") public final class Article { @Id ...

  7. spring-data-mongodb查询结果返回指定字段

    方法1 DBObject dbObject = new BasicDBObject(); dbObject.put("status", 1); DBObject fieldObje ...

  8. .net core webapi 列表返回指定的字段_ADO.NET 使用初探之SQL操作 | C# 数据操作系列...

    0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C#操作数据库的范围.通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础.闲话不多说,先给大家介绍一个C#操作 ...

  9. SpringBoot使用JPA多表关联动态查询指定字段

    SpringBoot使用JPA多表关联动态查询指定字段 目标需求 Maven依赖 项目结构 代码 运行结果 源码下载 目标需求 在SpringBoot中用JPA实现多表关联动态查询,并且只查询指定字段 ...

最新文章

  1. Android 录制视频
  2. Catalan数——卡特兰数
  3. 分布式入门之3:副本控制
  4. COMBOBOX绑定DICTIONARY做为数据源
  5. linux系列(十六):which命令
  6. php 实现百度坐标转换,PHP实现腾讯与百度坐标转换
  7. 基于椭圆-最大边缘准则学习的小麦叶片病害及其严重程度识别
  8. 大妈也能看懂的大数据分布式计算图解
  9. 计算机打印机端口号,网络打印机端口号.doc
  10. 测试开发人员与开发人员_我是真正的开发人员还是优秀的Googler?
  11. 智能快递柜的密码模块
  12. NOIP 2018模拟赛 by zwz T3 磨懒虫主义
  13. OddBall-图异常点检测
  14. 【42】android Context深度剖析
  15. mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor...
  16. 光电二极管(Photo-Diode)工作原理 与输出电压计算(光导模式:外加偏压和光伏模式:零偏置)
  17. 中国嫦娥升空了,美国登月神话破产了
  18. android蓝牙开源,开源蓝牙框架 Android-BLE
  19. javascript 判断奇偶性
  20. OpenCms7.0.4发布

热门文章

  1. [js] 如何提升JSON.stringify的性能
  2. 前端学习(2744):重读vue电商网站54之配置 HTTPS 服务
  3. 工作213:不能改变父组件值
  4. 工作152:阅读之后台管理登录样式
  5. 前端学习(2331):angular之图片的使用
  6. 前端学习(1343):集合关联
  7. 前端学习(635):字符串拼接
  8. 第三十七期:如果你这样回答“什么是线程安全”,面试官都会对你刮目相看
  9. window上安装mysql服务核心版(亲测可用)
  10. linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结