#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
, но моя точка зрения по-прежнему остается в силе, что невозможно использовать встроенную функцию