小程序端如何往云数据库插入时间(Date)类型数据?
发布于 5 年前 作者 naliu 13322 次浏览 来自 官方Issues

我现在有个需求是筛选某个时间段的内容,要定义DATE类型字段isodate_time用于检索,但我发现存储后还是字符串类型的,请教大佬有什么方法在添加数据的时候规定字段类型。搜索了相关解答,要设置为db.serverDate(), 可我从前端传来的是data数组, 如何追加这个字段?

云函数处理

exports.main = async(event, context) => {
    switch (event.action) {
        case 'AddWlog':
            {
                let data = event.data;
                await db.collection('TABLE_WLOG').add({
                    data: data
                })
                return {
                    msg: 'ok'
                }
            }
    }
}

发布页提交的数据

wx.cloud.callFunction({
    name: 'wlogfun',
    data: {
        action: 'AddWlog',
        data: {
            openid: wx.getStorageSync('openid'),
            content: that.data.content,
            ....
            is_delete: 0,
            //isodate_time: new Date(Date.now() + 8 * 60 * 60 * 1000),
            create_time: timeutil.TimeCode(new Date()),
            update_time: timeutil.TimeCode(new Date())
        }
    },
    ...
})
2 回复

最近正好在做类似的东西,你可以在小程序端直接调用,先做云数据库方法初始化 wx.cloud.database()紧接着使用db.serverDate()这个方法。

我给你看一个代码段你应该就明白了,直接使用服务端的时间。查询时可以使用new date("里面是时间的值"),来恢复为date类型的值

 db.collection('blog').add({
        data:{
          ...userInfo,
          content, //内容
          img: fileIds,  //图片
          createTime: db.serverDate() //服务端的时间
        }


云端存储的结果:

希望可以帮到你

还可以使用时间戳的形式

回到顶部