javascript - 如何将 json 拆分为多个阶段。快递API
问题描述
所以问题发生在我的 API 架构中,我想将它放入名为 items[] 的数组中。
如我们所见,这是一个在 express + mongodb 上编写的简单 API。但问题是如何将我的数据从 post 方法放入名为 items[] 的全局数组中。它应该看起来像:
所以代码是:
const express = require('express')
const MongoClient = require('mongodb').MongoClient
const ObjectId = require('mongodb').ObjectId
const app = express();
let db;
const port = process.env.PORT || 3015
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.get('/', (req, res) => {
res.send('Hey')
})
app.get('/artists', (req, res) => {
let count = 10
let page = 0
req.query.count ? count = req.query.count : null
req.query.page ? (page = req.query.page * count, count = page + 5) : null;
db.collection('artists').find().toArray((err, docs) => {
if (err) {
console.log(err)
return res.sendStatus(500)
}
res.send(docs.slice(page, count))
})
}),
app.post('/artists', (req, res) => {
const artist = {
name: req.body.name,
photos: {
small: null,
large: null
},
status: null,
followed: false
}
db.collection('artists').insertOne(artist, (err, result) => {
if (err) {
console.log(err)
return res.sendStatus(500)
}
res.send(artist)
})
})
MongoClient.connect('***********', (err, client) => {
if (err) {
return console.log(err)
}
db = client.db('mongod');
app.listen(port, () => {
console.log(`API is listening on port ${port}...`)
})
})
解决方案
您可以轻松地执行此操作res.json()
,并将响应作为 json 数据发送。
改变
res.send(docs.slice(page, count))
到
res.json({ items: docs.slice(page, count), status: "success" })
推荐阅读
- python - Python:发现可接受的关键字参数
- django - 如何将尝试访问私人页面的用户重定向到自定义页面而不是登录页面?
- javascript - Knex 在事务中创建 mysql 表
- sql - SQL:查找给定字段连续几天具有不同字符串值的记录
- python - Scrapy > 如何对爬虫提取的数据在字典中进行排序过滤
- reactjs - form.validateFields() 在 ant 设计表单中的 onValuesChange 内失败
- tensorflow - 如何从 Tensorflow 1.12 中的 2D 张量中获取一片张量?
- c# - 验证 Json 模式 C#
- html - 为什么使用位置时隐藏边框:相对和背景颜色?
- javascript - 如何使用 puppeteer 获取 javascript 设置的链接