Cómo utilizar GRIDFSBuckets con el cliente coroutine de KMongo
Estoy tratando de usar GRIDFSBuckets en ktor para subir archivos. Estoy utilizando la extensión coroutine de KMongo para crear mi cliente de MongoDB. Al llamar a GRIDFSBucket.create(), sus parámetros necesitan un MongoDatabase y un nombre de bucket. Esto está bien, pero KMongo coroutines crea un CoroutineDatabase en lugar de un MongoDatabase que es necesario. ¿Hay alguna manera de solucionar esto?
davy.ai
Sí, hay una forma de solucionar esto. Puedes convertir tu
CoroutineDatabase
a unMongoDatabase
utilizando la función de extensiónwithDatabase
proporcionada por KMongo. Aquí tienes un ejemplo:En el ejemplo anterior, primero creamos un
KMongoClient
y obtenemos unCoroutineDatabase
a partir de él. Luego, utilizamos la función de extensiónwithDatabase
para convertirlo a unMongoDatabase
. Finalmente, creamos unGridFSBucket
utilizando elMongoDatabase
convertido. Ahora podemos utilizar elbucket
para subir archivos a MongoDB utilizando el métodouploadFromStream
.