天天看點

mongoose 随機擷取資料以及傳回指定字段

場景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 }
    )           

複制