【问题标题】:To construct GridFS objects with mongo java driver v3.0 Released用mongo java驱动构建GridFS对象 v3.0 发布
【发布时间】:2015-03-25 12:18:58
【问题描述】:

上下文:

  • MongoDB 3.0 发布
  • Java 驱动程序 3.0 版

如果我连接到 mongodb,它在 mongo java 驱动程序文档中是如何描述的,我如何获得一个新的 GridFS 对象?此签名没有构造函数(MongoDatabase db,String bucket)。

MongoCredential credential = MongoCredential.createCredential(_userDb, _database, _passDb.toCharArray());
MongoClient mongoClient = new MongoClient(new ServerAddress(_host, _port), Arrays.asList(credential));
MongoDatabase mongoDatabase = mongoClient.getDatabase(_database);

我想避免使用不推荐使用的方法。看来无法进行强制转换

GridFS gfsPhoto = new GridFS((DB) mongoDatabase, "photos");

【问题讨论】:

    标签: mongodb mongodb-java


    【解决方案1】:

    使用mongoClient.getDB(_database)。新 API 中的 GridFS 支持没有为 3.0 计划制定计划,但应该在 3.1 中。现在你使用旧的DB API 是完全安全的。这是你唯一的选择,真的。

    【讨论】:

      【解决方案2】:

      值得一提。 MongoDB 版本 3.2 已更改为 GridFSBucket。我花了一段时间才找到新的解决方案。

      // Create a gridFSBucket using the default bucket name "fs"
      GridFSBucket gridFSBucket = GridFSBuckets.create(myDatabase);
      
      // Create a gridFSBucket with a custom bucket name "files"
      GridFSBucket gridFSBucket = GridFSBuckets.create(myDatabase, "files");
      

      http://mongodb.github.io/mongo-java-driver/3.2/driver/reference/gridfs/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 2015-07-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多