Node.js mongoose填充方法不起作用是否有其他方法从另一个集合获取数据?
下面是我的模式 Product.jsNode.js mongoose填充方法不起作用是否有其他方法从另一个集合获取数据?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,下面是我的模式 Product.js const Mongoose = require("mongoose"); const Schema = Mongoose.Schema; const { Types } = Schema; const Product = new Schema( { productName: { type: String, required: true, unique: true, trim:
const Mongoose = require("mongoose");
const Schema = Mongoose.Schema;
const { Types } = Schema;
const Product = new Schema(
{
productName: {
type: String,
required: true,
unique: true,
trim: true,
},
description: {
type: String,
required: true,
},
price: {
type: Number,
required: true,
maxlength: 32,
},
productType: {
type: Types.ObjectId,
ref: "Category",
required: true,
},
stock: {
type: Number,
default: 0,
},
photo: {
data: Buffer,
contentType: String,
},
},
{ timestamps: true },
);
module.exports = Mongoose.model("Product", Product);
Category.js
const Mongoose = require("mongoose");
const Schema = Mongoose.Schema;
const Category = Schema(
{
name: {
type: String,
trim: true,
required: true,
maxlength: 32,
unique: true,
},
},
{ timestamps: true },
);
module.exports = Mongoose.model("Category", Category);
我试图在getAllProducts方法中获取所有产品及其类别
但它总是在productType中返回ObjectId,而不是category对象。如何从类别集合中获取详细信息?
此代码有什么问题?为什么填充不起作用0?试试这个
wait Product.find().populate(“productType”)代码>,必须指定您提供的ref
属性的字段名。非常感谢兄弟。我在所有的模式名和模型名中看到了50多个示例,这就是为什么我会产生这种混淆尝试这个wait Product.find().populate(“productType”)代码>,必须指定您提供的ref
属性的字段名。非常感谢兄弟。我在所有模式名和模型名中看到了50多个示例,这就是为什么我会产生这种混淆
exports.getAllProducts = async (req, res) => {
var products = await Product.find().populate("Category");
return res.send(products);
};