通过mongo-go-driver使用mongodb本机功能

问题描述

就像标题一样,人们如何使用mongo-go-driver执行mongodb的本机函数,例如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()”

注意:对于虚拟情况,最好不必在应用程序级别创建时间戳,因此需要使用DB的功能

解决方法

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