问题描述
就像标题一样,人们如何使用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中进行编程。