我試圖在我的 api 中為嵌套陣列中的子陣列創建一個單獨的路由。使用 expressJs。
類別陣列:
const Categories = [
{
_id: 's654fs54s6d4f'
title: 'category 1',
SubCats: [
{
_id: 'jhgfsf68746'
name: 'subcat 1',
image: '/assets/images/vr-box-6203301_1920.jpg',
},
{
_id: 'vb40n5b4vn'
name: 'subcat 2',
image: '/assets/images/galaxy-s20_highlights_kv_00.jpg',
},
]
},
]
類別型號:
import mongoose from 'mongoose'
const Catschema = mongoose.Schema({
name: {
type: String,
required: true,
},
image: {
type: String,
required: true,
},
})
const CategorySchema = mongoose.Schema(
{
title: {
type: String,
required: true,
},
SubCats: [Catschema]
},
{
timestamps: true,
}
)
const Category = mongoose.model('Category', CategorySchema)
export default Category
類別控制器:
這將回傳整個陣列
const getCategories = asyncHandler(async (req, res) => {
const categories = await Category.find({})
res.json(categories)
})
我想回傳“SubCats”陣列。
試過這個但得到“未定義子貓”。
const getSubCategories = asyncHandler(async (req, res) => {
const subcategories = await Category.find({SubCats})
res.json(subcategories)
})
uj5u.com熱心網友回復:
find()回傳一個陣列,它接受一個物件來查詢資料庫。在您的問題中,您使用了Category.find({SubCats})which is Category.find({SubCats: SubCats}),未定義 which SubCats 。
我認為您正在尋找的是Category.find().select('SubCats'),這將回傳一個僅包含 SubCats 的類別陣列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/408009.html
標籤:
上一篇:如何使用單選按鈕隱藏div
