【问题标题】:Using mongodb native function via mongo-go-driver通过 mongo-go-driver 使用 mongodb 本机函数
【发布时间】:2021-01-29 20:23:05
【问题描述】:

如题,如何使用mongo-go-driver执行mongodb的native函数,如ISODate().getTime()?即使在 mongo 的官方文档中,我也找不到一个好的文档来执行此操作。

例如查询

db.coll.update({key: 'random-id'}, {$set: {last_seen: ISODate().getTime()}})

大致翻译成

coll.updateOne(
    ctx,
    bson.D{
       bson.E{Key: "key", Value: "random-id"},
    },
    bson.D{
       bson.E{Key: "last_seen", Value: "ISODate().getTime()"},
    }
)

但是那样,最后看到的值不会是 mongo 中的 UNIX 时间戳,而是文字字符串“ISODate().getTime()”

注意:对于dummy的情况,最好不用在应用层创建时间戳,所以需要使用DB的函数

【问题讨论】:

    标签: mongodb function go mongo-go-driver


    【解决方案1】:

    这是不可能的。您尝试使用的代码是 mongo shell 代码。您需要使用 Go 构建命令,因为您是在 Go 中编程,而不是在 mongo shell 中。

    【讨论】:

    • 我在 mongo shell 和 golang 中都给出了例子
    • 由于我描述的原因,您的 go 示例不起作用。
    • 我已经写了roughly,但我的观点仍然是无法使用原生函数
    猜你喜欢
    • 1970-01-01
    • 2019-03-12
    • 2020-03-20
    • 2019-11-08
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2021-04-28
    相关资源
    最近更新 更多