【发布时间】:2018-11-21 14:32:50
【问题描述】:
我正在尝试创建一个 Golang MongoDB 连接器,该连接器接收来自客户端的请求并将请求正文更新/插入到数据库中。请求正文的示例是:
{
"_id": {
"$oid": <hexOID>
},
"DateCreated": {
"$date": 1460091636474
},
"DateModified": {
"$date": 1542241349721
}
}
我当前使用的 Mongo 驱动程序和 BSON 库分别位于 github.com/globalsign/mgo/ 和 github.com/globalsign/mgo/bson。
每当我尝试解组上述响应时,都会收到错误消息:
cannot parse date: "{\r\n \"$date\": 1460091636474\r\n }"
我已经阅读并看到了一些关于创建自定义编组器/解组器的答案,但是如果它确实解决了这个问题,我该怎么做呢?
我的代码子集如下:
var update interface{}
errUpdate := bson.UnmarshalJSON(body, &update)
if errUpdate != nil {
fmt.Println(errUpdate)
}
dbErr = collection.Update(query, update)
我将更新作为一个接口,因为传递的请求正文不断变化并且没有明确定义。
【问题讨论】: