创建表结构
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
})
}),