mongodb接口的一系列配置

创建表结构

const publishSchema = new mongoose.Schema({
    name: String,
    content: String,
    destion: String,
    place: String,
    data: Date,
    logins: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "logins"
    }
});
const publishModel = mongoose.model("publish", publishSchema, "publish");

接口的使用

无限极分类

router.get('/authority', async (req, res) => {
  //lean()为查询的对象添加自定义属性 这里需要添加children属性
  let data = await authorityModel.find().lean()
  //定义一个对象 键: 每一条数据的_id ,值:这个_id的整个对象
  //该对象的作用就是用于查找某个对象的父级
  let cateObj = {}
  data.forEach(item => {
    cateObj[item._id] = item
  })
  let infiniteData = []//定义一个数组用于存放无线分类结果的数组
  //遍历集合所有data数据 判断是否是一级分类 如果是一级分类 直接存入到infiniteData
  data.forEach(item => {
    if (!item["children"]) {
      infiniteData.push(item)
    } else {
      //说不是一级分类 找到当前对象的父级  判断该对象的父级是否有children属性 没有就定义一个children
      if (!cateObj[item["children"]]["children"]) {
        cateObj[item["children"]]["children"] = []
      }
      cateObj[item["children"]]["children"].push(item)
    }
  })
  res.send({
    code: 200,
    infiniteData
  })
}),

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值