一个前端,爱跑步、爱吉他、爱做饭、爱生活、爱编程、爱南芳姑娘,爱我所爱。世间最温暖又无价的是阳光、空气与爱,愿它们能带你去更远的地方。

  • 文章
  • 心情
  • 照片墙
  • 留言板
  • 工具
  • 友链
  • biaoblog

    专注web开发技术分享

    mongoose 随机获取数据以及返回指定字段

    技术 271 2022-04-06 09:55

    场景1 获取6条随机的文章数据,并且指定一些需求的字段返回,不是全部返回:(aggregate,project)

    router.get("/randomBooks", async (ctx) => {
      console.log("????");
      const book = mongoose.model("book");
      await book
        .aggregate()
        .project({ ID: 1, img: 1, date: 1, reads: 1, title: 1 })
        .match({})
        .sample(6)
        .then((res) => {
          ctx.body = {
            code: 200,
            message: res,
          };
        })
        .catch((err) => {
          ctx.body = { code: 500, message: err };
        });
    });
    

    场景2 文章列表,但是之前把文章的内容字段也加上了,列表不需要着字段 所以去掉(find)

      await book
        .find(
          { visible: true },
          { ID: 1, date: 1, img: 1, reads: 1, summary: 1, tag: 1, title: 1 }
        )
    
    2023/3/14补充
    上面说的是可以指定显示某些字段,也可以选择忽略某些字段。
    以下是只忽略ID,其它字段正常显示,看情况写,如果需要忽略的多,就用上面的写法,如果忽略的少,就用下面这种写法
      await book
        .find(
          { visible: true },
          { ID: false }
        )
    



    文章评论

    评论列表(0