【nodejs+koa】常用接口写法记录

一、获取表长度

// 获取用户总数量
router.get('/getArticleNum', new Auth().tokenVerify, async ctx => {
	const userNum = await modelUser.find()
	const res = userNum.length
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

二、增加一条数据

router.post('/add_user', async ctx => {
	const params = ctx.request.body
	const res = await modelUser({
		mobile: params.mobile,
		password: params.password,
		nickname: params.nickname,
		gender: params.gender,
		city: params.city, uid: params.uid,
		avatarUrl: params.avatarUrl,
		backdrop: params.backdrop,
		my_tags: params.my_tags
	}).save()
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

三、删除一条数据

router.post('/article_del', new Auth().tokenVerify, async ctx => {
	const { _id } = ctx.request.body//评论_id
	const res = await modelArticle.findOneAndDelete({ _id: _id })
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

四、修改数据

// 修改文章
router.post('/article_update', new Auth().tokenVerify, async ctx => {
	const { _id } = ctx.query
	const massage = ctx.request.body
	const res = await modelArticle.findOneAndUpdate({ _id: _id }, {
		title: massage.title,
		content: massage.content,
		cover_image: massage.cover_image,
		city: massage.city,
		tag: massage.tag,
		time: massage.time
	})
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

五、按照某一字段查询

// 按城市分类查询
router.post('/article_info_city', new Auth().tokenVerify, async ctx => {
	const { city } = ctx.request.body
	const res = await modelArticle.find({ city: city })
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

六、获取某一个字段数量排名

// 获取游记前五的城市
router.get('/getCity', new Auth().tokenVerify, async ctx => {
	const cityRanking = await modelArticle.aggregate([{ $group: { _id: '$city', count: { $sum: 1 } } }, { $sort: { count: -1 } }])
	const res = cityRanking
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

七、获取某一字段的值占比

// 获取用户男女占比
router.get('/getGender', new Auth().tokenVerify, async ctx => {
	// const { gender } = ctx.request.body//评论_id
	const male = await modelUser.find({ gender: '男' })
	const maleNum = male.length
	const female = await modelUser.find({ gender: '女' })
	const femaleNum = female.length
	const unkonwn = await modelUser.find({ gender: '' })
	const unkonwnNum = unkonwn.length
	const res = [{ '男': maleNum }, { '女': femaleNum }, { '未知': unkonwnNum }]
	new Interfaceresult(ctx, 'SUCCESS', 200, res).answer()
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早睡第一人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值