Использование встроенной функции mongodb через mongo-go-driver

#mongodb #function #go #mongo-go-driver

#mongodb #функция #Вперед #mongo-go-driver

Вопрос:

Как и в названии, как использовать 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()"},
    }
)
  

но таким образом, последнее увиденное значение не будет меткой времени UNIX в mongo, а буквальной строкой «ISODate().getTime()»

Примечания: Для фиктивного случая предпочтительно не создавать временную метку на уровне приложения, поэтому необходимо использовать функцию DB

Ответ №1:

Это невозможно. Код, который вы пытаетесь использовать, — это код оболочки mongo. Вам нужно создать команду с помощью Go, потому что вы программируете на Go, а не в оболочке mongo.

Комментарии:

1. Я привожу пример КАК в оболочке mongo, так и в golang

2. Ваш пример go не работает по причине, которую я описал.

3. Я написал roughly , но моя точка зрения по-прежнему остается в силе, что невозможно использовать встроенную функцию