0ra*_*ndo 1 database reactjs prisma
尝试根据时间范围获取行,例如过去 24 小时、过去 7 天、过去 30 天、过去 1 年等。
最后一天是这样计算的
let lastDay = Date.now() - (24 * 60 * 60 * 1000)
lastDay = new Date(lastDay).toISOString()
Run Code Online (Sandbox Code Playgroud)
当使用.findMany等时,会where是AND这样的吗?
AND: {
date: {
gte: lastDay
}
}
Run Code Online (Sandbox Code Playgroud)
那么找到大于或等于过去 24 小时的日期行吗?
AND您可以在 where 子句中传递对象列表,这与使用过滤条件相同。
对于基于日期的过滤,您可以使用过滤器运算符,例如 gt/gte/lt/lte。
给定这个模式:
model User {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
}
Run Code Online (Sandbox Code Playgroud)
可以直接传入ISO字符串进行比较:
let lastDay = Date.now() - (24 * 60 * 60 * 1000);
lastDay = new Date(lastDay).toISOString();
let id = 1;
await prisma.user.findMany({
where: {
AND: [
{
id: id,
},
{
createdAt: {
gte: lastDay,
},
},
],
},
});
Run Code Online (Sandbox Code Playgroud)
这是使用过滤器的参考AND。