收藏
回答

请问小程序云开发的数据模型怎么使用and运算符?

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代码助手回答的都报错,这个写法不报错但是根本没用,请给个正确写法,谢谢。

最后一次编辑于  03-10
回答关注问题邀请回答
收藏

2 个回答

  • 牛客
    牛客
    03-10

    破案了,留给有需要的人:

    关键一:转换成时间戳之前,确保时间足够详细

    // 不能是
    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  } }
    )
    
    03-10
    有用 1
    回复
  • 启年
    启年
    03-10

    这样写就行



    03-10
    有用
    回复 2
    • 牛客
      牛客
      03-10
      感谢,这个写法倒是可以,但是请问数据模型的写法不能实现吗?
      03-10
      回复
    • 启年
      启年
      03-10回复牛客
      可以吧,建议你换个大模型问问,比如deepseek
      03-10
      回复
登录 后发表内容