Mongoose二级连表查询

BG7ZAG

分类: 程序开发 1422 0

Mongoose二级连表查询

首先定义两个Schema,然后 model ;

DB.js

  1. // 分类
  2. let CategorieSchema = new mongoose.Schema({
  3.     "name" : String,
  4.     "img" : String,
  5.     "date": Date
  6. });
  7. CategorieSchema.index({ "date": 1});
  8. // 商品
  9. let GoodsSchema = new mongoose.Schema({
  10.     "name" : String,
  11.     "img" : String,
  12.     "date": Date,
  13.     "count": Number,
  14.     "content": String,
  15.     "categoryId": {
  16.         type: mongoose.Schema.ObjectId,
  17.         ref: 'n_categorie'  // 此处名称为let n_goods 的n_goods 区分大小写
  18.     }
  19. });
  20. GoodsSchema.index({ "name": 1, "categoryId": 1});
  21. GoodsSchema.statics = {
  22.     findCategoryByGoodsId:function (goodsId,callback) {
  23.         return this.findOne({_id: goodsId}).populate('categoryId').exec(callback)
  24.     }
  25. };
  26. //model
  27. let n_categorie = mongoose.model("n_categorie",CategorieSchema);
  28. let n_goods = mongoose.model("n_goods",GoodsSchema);
  29. exports.n_categorie = n_categorie;
  30. exports.n_goods = n_goods;

在需要的地方查询:

  1. const DB = require("../model/DB.js");
  2. DB.n_goods.findCategoryByGoodsId('5afc612ebe2db7194a3a703a',function (err ,category) {
  3.         if (err) console.log(err)
  4.         console.log(category.categoryId.name)
  5.  })

 

  • 0人 Love
  • 0人 Haha
  • 0人 Wow
  • 0人 Sad
  • 0人 Angry
MongoDB、Mongoose

作者简介: BG7ZAG

打赏

博客站长,前端开发工程师

共 0 条评论关于 “Mongoose二级连表查询”

Loading...