在我的应用中,我有2个收藏用户和书籍。每当由于某种原因无法添加图书时,我都试图添加用户ID。
这是我的书本模式。我要添加ownerId作为用户ID。
const mongoose = require('mongoose');
const { Schema } = mongoose;
const BookSchema = new Schema({
name: {
type: String,
required: true,
},
author: {
type: String,
required: true,
},
price: {
type: String,
default: 'n/a',
},
ownerId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'users',
required: true,
},
}, { timestamps: true });
const Book = mongoose.model('Book', BookSchema);
module.exports = Book;
用户数据库条目
{
"_id": {
"$oid": "5b5666dba3bf3359b245e0ad"
},
"role": 0,
"email": "monty69@gmail.com",
"password": "$2b$10$KjTHzKSQCznCGQxYVprl3.3B3HV/aq0wGDqzQw.01P9lEXUn91Afe",
"name": "jatta",
"lastname": "sandhu",
"__v": 0
}
Mongo版本 MongoDB Shell版本v3.6.3
图书查询
addBook: async (req, res) => {
try {
const book = await new Book(req.body).save();
return res.status(200).json(book);
} catch (err) {
return res.status(400).send(err);
}
}
但是由于某种原因,它没有在书籍条目中添加用户ID。任何帮助将不胜感激。
答案 0 :(得分:0)
您需要将ownerId
与登录的用户id
addBook: async (req, res) => {
try {
req.body.ownerId = req.user.id
const book = await new Book(req.body).save();
return res.status(200).json(book);
} catch (err) {
return res.status(400).send(err);
}
}