1

就像标题一样,如何使用 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()”

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

4

1 回答 1

0

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

于 2020-10-15T14:37:00.000 回答