product.js
2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
const express = require('express');
const router = express.Router();
const multer = require('multer');
const { Product } = require("../models/Product");
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, `${Date.now()}_${file.originalname}`)
}
})
var upload = multer({ storage: storage }).single("file")
router.post('/image', (req, res) => {
//가져온 이미지를 저장을 해주면 된다.
upload(req, res, err => {
if (err) {
return req.json({ success: false, err })
}
return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename })
})
})
router.post('/', (req, res) => {
//받아온 정보들을 DB에 넣어 준다.
const product = new Product(req.body)
product.save((err) => {
if (err) return res.status(400).json({ success: false, err })
return res.status(200).json({ success: true })
})
})
router.post('/products', (req, res) => {
// 정보 가져오기
let limit = req.body.limit ? parseInt(req.body.limit) : 20;
let skip = req.body.skip ? parseInt(req.body.skip) : 0;
Product.find()
.populate("writer")
.skip(skip)
.limit(limit)
.exec((err, productInfo)=> {
if(err) return res.status(400).json({success:false, err})
return res.status(200).json({success:true, productInfo})
})
})
router.post('/', (req, res) => {
//받아온 정보들을 DB에 넣어 준다.
const product = new Product(req.body)
product.save((err) => {
if (err) return res.status(400).json({ success: false, err })
return res.status(200).json({ success: true })
})
})
router.get('/products_by_id', (req, res) => {
let type = req.query.type
let productIds = req.query.id
if (type === "array") {
//id=123123123,324234234,324234234 이거를
//productIds = ['123123123', '324234234', '324234234'] 이런식으로 바꿔주기
let ids = req.query.id.split(',')
productIds = ids.map(item => {
return item
})
}
//productId를 이용해서 DB에서 productId와 같은 상품의 정보를 가져온다.
Product.find({ _id: { $in: productIds } })
.populate('writer')
.exec((err, product) => {
if (err) return res.status(400).send(err)
return res.status(200).send(product)
})
})
module.exports = router;