首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调用所有由用户创建的产品?

问如何调用所有由用户创建的产品?
EN

Stack Overflow用户
提问于 2022-10-17 05:27:54
回答 1查看 34关注 0票数 0

我正在使用mongodb+moongose,我已经可以完成基本的CRUD,但是我在获取用户创建的所有产品时遇到了困难,我不知道我是否做对了,我试着使用它。

代码语言:javascript
复制
user_id: {type: mongoose.Schema.Types.ObjectId, required: true, ref: 'User'},

例如。

代码语言:javascript
复制
Show all products that is created by User1

ProductSchema.js

从“猫鼬”进口猫鼬

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
router.get('/customerproduct', getProductOfUsers)
EN

回答 1

Stack Overflow用户

发布于 2022-10-17 07:20:08

您的controller.js中有一个错误。req.user可能没有定义。只要把它转成req.body.user。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74092883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档