uni-app 数据库schema是date类型 查询时提示 右值类型不正确

uni-app 数据库schema是date类型 查询时提示 右值类型不正确

操作步骤:

{
    "bsonType": "object",
    "properties": {
        "startDate": {
            "bsonType": "date",
            "description": "开始时间"
        }
    }
}
const dbCmd = db.command
const $ = dbCmd.aggregate
// db.collection('date-test').add({
//  startDate: new Date()
// })

db.collection('date-test').where({
    startDate: dbCmd.lte(new Date())
}).get()

报错 右侧值类型不正确

如果查询时用时间戳不报错但是搜不出来

用getTemp 再联表查是正常的

哪里不对么


更多关于uni-app 数据库schema是date类型 查询时提示 右值类型不正确的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

有大佬知道么,只能用时间戳格式么

更多关于uni-app 数据库schema是date类型 查询时提示 右值类型不正确的实战教程也可以访问 https://www.itying.com/category-93-b0.html


问题出在使用 db.command.lte(new Date()) 进行日期比较查询时,需要将 Date 对象转换为数据库能识别的格式。

正确写法应该是:

db.collection('date-test').where({
    startDate: dbCmd.lte({
        $date: new Date().toISOString()
    })
}).get()
回到顶部