sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man får en binär ström av GridFS ObjectId med Spring Data MongoDB

Jag snubblade över detta också. Och jag är faktiskt ganska chockad över att GridFsTemplate har designats så här... Hur som helst, min fula "lösning" på detta hittills:

public GridFsResource download(String fileId) {
    GridFSFile file = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is(fileId)));

    return new GridFsResource(file, getGridFs().openDownloadStream(file.getObjectId()));
}

private GridFSBucket getGridFs() {

    MongoDatabase db = mongoDbFactory.getDb();
    return GridFSBuckets.create(db);
}

Notera:Du måste injicera MongoDbFactory för att detta ska fungera...



  1. Resultatordning i MongoDB med $in?

  2. Spara användarsession i Redis med ASP.NET Core i Azure

  3. Mongo, hitta en lista med ID

  4. Behöver du JPA när du använder MongoDB?