async getBooks(page_number = 1) {
try {
let whereCondition = {
type_id: {
$eq: get_type_id
}
// ...其他代码
whereCondition = { // 按时间区间查询
$and: [{
create_time:{$gte: 1741392000000},
create_time:{$lte: 1741478400000}
}]
}
}
const books = await models.books.list({
filter: {
where: whereCondition
},
orderBy: [
{ create_time: "desc" }
],
getCount: true,
pageSize: this.data.page_size,
pageNumber: page_number,
})
return books.data.records
} catch (err) {
console.error('getBooks:失败:', err)
return []
}
}
快疯了,文档不给示例,腾讯云AI代码助手回答的都报错,这个写法不报错但是根本没用,请给个正确写法,谢谢。
破案了,留给有需要的人:
关键一:转换成时间戳之前,确保时间足够详细
// 不能是 date_start: '2025-03-08', date_end: '2025-03-09', // 必须是 date_start: '2025-03-08 00:00:01', date_end: '2025-03-09 23:59:59', // 转换为时间戳 timestamp_start = new Date(date_start).getTime() timestamp_end = new Date(date_end).getTime()
关键二:统一使用$and运算符进行操作
// 初始化条件 let whereCondition = { $and: [ { name: { $eq: '小卡拉米' } } ] } // 增加条件(按时间区间查询) whereCondition.$and.push( { creat_time: { $gte: timestamp_start } }, { creat_time: { $lte: timestamp_end } } )
这样写就行
const books = await models.books.list({
//...
})