如何在猫鼬中填充对象数组?

How to populate object array in mongoose?

我想在此处填充 'item',但出现以下错误。它是一个对象数组。此方法适用于普通数组,但对对象数组出错。如何解决?

        // Get the reserved list
        const reservedDetails = await reserveInventory
            .findOne({ memberID: id })
            .select("itemsList")
            .populate({
                path: "item",
                model: inventoryItem,
            });

错误:

Cannot populate path `item` because it is not in your schema. Set the `strictPopulate` option to false to override.

reserveInventory 模型:

const reserveInventorySchema = mongoose.Schema({
    memberID: {
        type: String,
        ref: "member",
        required: true,
    },
    itemsList: [
        {
            item: {
                type: String,
                ref: "inventoryItem",
            },
            quantity: {
                type: Number,
            },
        },
    ],
});

module.exports = mongoose.model("reserveInventory", reserveInventorySchema);

库存物品型号:

const inventoryItemSchema = mongoose.Schema(
    {
        name: {
            type: String,
            required: true,
        },
        quantity: {
            type: Number,
            required: true,
        },
        available: {
            type: Number,
            required: true,
        },
    },
    {
        timestamps: true,
    }
);

module.exports = mongoose.model("inventoryItem", inventoryItemSchema);

你错了

// Get the reserved list
        const reservedDetails = await reserveInventory
            .findOne({ memberID: id })
            .select("itemsList")
            .populate({ path: "itemsList.item"});