mongodb - 如何使用 Golang 在 MongoDB 中插入日期?
问题描述
我有一个具有以下格式的结构。我正在尝试InvDt
在 MongoDB 中插入日期。我的日期在表格中2020-09-25
。
type Statement struct {
InvDt string `bson:"invoice_date,omitempty" json:"invoice_date,omitempty"`
}
插入代码写成:
interfaceStmts := []interface{}{}
for _, s := range stmts {
interfaceStmts = append(interfaceStmts, s)
}
testCollection.InsertMany(ctx, interfaceStmts)
这当前作为字符串插入。如何使它作为日期插入?
解决方案
这样做的方法是首先将 转换String
为time.Time
类型,然后使用primitive
库中的转换器将其转换为DateTime
对象。
import (
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type Statement struct {
InvDt primitive.DateTime `bson:"invoice_date,omitempty" json:"invoice_date,omitempty"`
}
func main() {
const shortForm = "2006-01-02"
dt, _ := time.Parse(shortForm, "2020-09-29")
stmt.InvDt = primitive.NewDateTimeFromTime(dt)
}
推荐阅读
- ios - UITableView 中的 iOS 自定义页脚视图问题
- android - 对话框不显示,屏幕只会使屏幕的光线变暗
- node.js - 使用 pug 扩展时传递变量
- regex - 需要一个正则表达式来从我的 Git 标记版本字符串中提取描述部分
- mysql - MACOS / MySQL / SQL Developer 连接错误 - 时区问题
- vba - 在 Excel 中复制时,日期中的月份和日期有时会颠倒
- amazon-web-services - 1 秒后 Lambda 超时
- javascript - chrome 扩展中的 FCM - getToken() 为空
- ajax - ckeditor 插入或更新在第一次尝试时不起作用
- javascript - 使用下拉菜单从 mysql 表中选择值时填写 html 表单