You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Prisma ORM从MongoDB中获取随机文档?

如何使用Prisma ORM从MongoDB中获取随机文档?

嘿,刚好我之前也碰到过一样的需求,其实Prisma ORM对MongoDB的聚合操作支持得很到位,和你用Mongoose的思路几乎一致,直接用$sample阶段就能搞定!

你只需要调用Prisma模型的aggregate方法,传入包含$sample的聚合数组就行,代码示例如下:

const selectedProjects = await prisma.project.aggregate([
  { $sample: { size: 15 } }
]);

是不是和Mongoose的写法差不了多少?这里还有几个小细节要注意:

  • 确保你的Prisma版本支持MongoDB聚合操作(现在主流版本都没问题)
  • 你的Prisma模型Project要正确映射到MongoDB对应的集合

如果之后你需要先筛选文档再随机抽取,也可以在聚合管道里先加$match阶段,比如:

const selectedProjects = await prisma.project.aggregate([
  { $match: { status: 'published' } }, // 先筛选已发布的项目
  { $sample: { size: 15 } } // 再随机取15个
]);

这样就能完美满足你每次请求获取15个随机文档的需求啦~

备注:内容来源于stack exchange,提问作者Meer Uzair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:13:16