我正在使用mongodb+moongose,我已经可以完成基本的CRUD,但是我在获取用户创建的所有产品时遇到了困难,我不知道我是否做对了,我试着使用它。
user_id: {type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User'},例如。
Show all products that is created by User1ProductSchema.js
从“猫鼬”进口猫鼬
const ProductSchema = mongoose.Schema({
user_id: {type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User'},
title: {type: String},
description: {type: String},
categories: {type: Array},
price: {type: Number},
productImage: {type: String}
},
{ timestamps: { createdAt: true } }
)
export default mongoose.model('Product', ProductSchema)UserSchema.js
import mongoose from 'mongoose'
const UserSchema = mongoose.Schema({
username: {type: String, unique: true, required: true},
password: {type: String, required: true},
email: {type: String, unique: true, required: true},
studentid: {type: String, unique: true, required: true},
isAdmin:{type: Boolean, default: false},
},
{ timestamps: { createdAt: true } }
)
export default mongoose.model('User', UserSchema)Controller.js
export const getProductOfUsers = async (req,res) =>{
try {
const posts = await Product.find({user_id: req.user.id})
res.status(200).json(posts)
} catch (error) {
res.status(404).json({message: error.message})
}
}Router.js
router.get('/customerproduct', getProductOfUsers)发布于 2022-10-17 07:20:08
您的controller.js中有一个错误。req.user可能没有定义。只要把它转成req.body.user。
https://stackoverflow.com/questions/74092883
复制相似问题