前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mongoose根据id获取上、下相邻数据详情

mongoose根据id获取上、下相邻数据详情

作者头像
biaoblog.cn 个人博客
发布于 2022-08-11 12:01:14
发布于 2022-08-11 12:01:14
67800
代码可运行
举报
运行总次数:0
代码可运行

废话不多说,这个就是为了实现 文章的上一篇和下一篇的接口

直接上代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
router.post("/bookInfo", async (ctx) => {
  let bookId = ctx.request.body.ID;
  const book = mongoose.model("book");

  // 获取上一篇和下一篇的文章
  // select是指定返回的字段
  let prevBook = await book
    .findOne({ ID: { $lt: bookId }, visible: true })
    .sort({ ID: -1 })
    .select({ ID: 1, title: 1 })
    .then((res) => res);
  let nextBook = await book
    .findOne({ ID: { $gt: bookId }, visible: true })
    .sort({ ID: 1 })
    .select({ ID: 1, title: 1 })
    .then((res) => res);
  await book
    .findOne({ ID: bookId })
    .exec()
    .then((res) => {
      ctx.body = { code: 200, message: res, prevBook, nextBook };
    })
    .catch((err) => {
      ctx.body = { code: 500, message: err };
    });
});

参考:https://blog.csdn.net/u012914342/article/details/113518097

$ne的使用:

在find的条件中 不匹配某个结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let boardMsgLength = await messageBoard.find({ from: "留言板" }).count(); //匹配留言板的数量
let booksMsgLength = await messageBoard  // 匹配非留言板的数量 且 根据ID查询
    .find({ from: { $ne: "留言板" }, ID: MessageBoardId })
    .count();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mongoose 随机获取数据以及返回指定字段
场景1 获取6条随机的文章数据,并且指定一些需求的字段返回,不是全部返回:(aggregate,project) router.get("/randomBooks", async (ctx) => {
biaoblog.cn 个人博客
2022/08/11
1.3K0
前端小白玩转koa(二)
文章地址:https://cloud.tencent.com/developer/article/2471283
一起重学前端
2024/11/26
1480
你真的了解mongoose吗?
继上篇文章「Koa2+MongoDB+JWT实战--Restful API最佳实践」后,收到许多小伙伴的反馈,表示自己对于mongoose不怎么了解,上手感觉有些难度,看官方文档又基本都是英文(宝宝心里苦,但宝宝不说
前端森林
2020/04/23
41.9K1
前端如何快速为App搭建数据服务
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 前言: 作为一个Coder虽然主要在做前端方面的开发,但是为了可以更好的协作开发,还是很有必要学习后端的一些知识,最起码你可以了解到什么东西是真的实现不了😏。 技术栈: 基础项目:eggjs 时间处理:dayjs 数据加密:md5 UID生成:uuid 鉴权处理:jsonwebtoken 参数校验:egg-validate 跨域限制:egg-cors 数据存储:egg-mongoose选择Eggjs原因:
前端小鑫同学
2022/12/26
1.3K0
前端如何快速为App搭建数据服务
mongoose官方文档总结
你也可以设定虚拟值的 setter ,下例中,当你赋值到虚拟值时,它可以自动拆分到其他属性:
六个周
2022/10/28
20.9K0
Mongoose 实现关联查询和踩坑记录
本文源自工作中的一个问题,在使用 Mongoose 做关联查询时发现使用 populate() 方法不能直接关联非 _id 之外的其它字段,在网上搜索时这块的解决方案也并不是很多,在经过一番查阅、测试之后,有两种可行的方案,使用 Mongoose 的 virtual 结合 populate 和 MongoDB 原生提供的 Aggregate 里面的 $lookup 阶段来实现。
五月君
2020/08/20
26.7K0
Mongoose 实现关联查询和踩坑记录
使用 Mongoose 操作 MongoDB
Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具。
4O4
2022/04/25
1.7K0
使用 Mongoose 操作 MongoDB
Nuxt + Koa2 + Mongodb 手撸一个网上商城
文档地址:https://finget.github.io/2019/08/06/nuxt-koa-mongodb/
FinGet
2019/08/09
9.6K1
Nuxt + Koa2 + Mongodb 手撸一个网上商城
​基于H5的音频播放器开发(2):前后端篇
这是我个人练习的小项目。基于koa2-iview+less定制。用于个人对播放器的复习。现已集成于个人网站上了。后端基于koa2+mongodb,写一套增删改查接口就可以了。
一粒小麦
2019/08/20
2K0
​基于H5的音频播放器开发(2):前后端篇
使用 koa2 搭建中间件
提示不安全是因为 localhost 与证书域名 api.domain.com 不符
4O4
2022/04/25
1.2K0
使用 koa2  搭建中间件
深入浅出 Koa2:现代 Node.js 框架
Koa2 是一个现代的、简洁的 Node.js 框架,由 Express 团队设计和开发。与 Express 相比,Koa2 提供了更加精简和强大的功能,特别是其中间件处理机制和异步编程能力,深受开发者喜爱。本文将详细介绍 Koa2 的安装、基本用法、核心概念及其高级功能,并通过示例代码展示如何构建一个功能完整的 Web 应用程序。
Michel_Rolle
2024/07/31
2.7K0
MongoDB增删改查操作
创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。
梨涡浅笑
2020/10/30
20K0
MongoDB增删改查操作
react+koa2+mongodb实现留言功能(可体验)
针对留言的展示,这里使用的是ant design自带的List和Comment组件:
Jimmy_is_jimmy
2022/03/10
1.1K0
react+koa2+mongodb实现留言功能(可体验)
​eggjs实战
swagger会扫描配置的API文档格式自动生成一份json数据,而swagger官方也提供了ui来做通常的展示,当然也支持自定义ui的。不过对后端开发者来说,能用就可以了,官方就可以了。
一粒小麦
2019/07/26
3.1K0
​eggjs实战
Nodejs学习笔记(十四)— Mongoose介绍和入门
简介   Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具   那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html   Github地址:https://github.com/Automattic/mongoose   API Docs:http://mongoosejs.com/docs/guide.html   
Porschev
2018/03/28
2.8K0
Nodejs学习笔记(十四)— Mongoose介绍和入门
基于arkTS开发鸿蒙app应用案例——通讯录案例
登陆时让前端访问数据库中已经存好的账号密码,如果可以查询到数据库中的数据,则账号密码正确,登录成功,否则登录失败。
淼学派对
2024/04/02
6110
基于arkTS开发鸿蒙app应用案例——通讯录案例
node-koa 框架 项目搭建 🏗
---- 这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」 代码[链接🔗]:(https://gitee.com/yang-yiming1234/koa/tree/master) 持续更新~ 简介 Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了
用户4793865
2023/01/12
3.5K0
微信小程序支付
微信小程序支付 首先申请微信支付商户号并关联微信小程序 1583065647497-60a54eb3-d5f4-4931-b6d0-f71ef5d40254.png 1583065739033-2bebe181-6525-4811-829a-6aa552009f02.png 准备订单参数 // Order.js 架构 const mongoose = require('mongoose'); const Order = new mongoose.Schema({ openid: {
4O4
2022/04/25
1.2K0
微信小程序支付
MongoDB数据库基本操作
安装 mongodb MongoDBcompass 配置mongoose npm install mongoose node 连接数据库 const mongoose = require('mongoose');<br/> mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true })<br/> .then( () => console.log('数据库连接成功'))<br/> .catch( err
用户3461357
2019/08/20
4.3K0
【Nodejs进阶】koa2+mySql用户注册和登录以及实现列表分页
Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
微芒不朽
2022/09/13
1.6K0
相关推荐
mongoose 随机获取数据以及返回指定字段
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验