我的mongo数据库中有两个GridFS集合,我需要将文件从一个GridFS集合传输到同一数据库中的另一个集合。
我有一个List,我正在使用$in操作符来获取一个文件列表,该列表以GridFSFindIterable的形式返回,现在我需要找到一种方法将这些GridFSFiles移动到新的集合bucket 2。
GridFSBucket bucket1= GridFSBuckets.create(db, "bucket1");
GridFSBucket bucket2= GridFSBuckets.create(db, "bucket2");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("_id", new BasicDBObject("$in", fileIdsList));
GridFSFindIterable bucket1Files = bucket1.find(searchQuery);
for(GridFSFile file: bucket1Files){
}
在bucket 2 collection中存储这些文件列表的最佳方法是什么?
1条答案
按热度按时间q8l4jmvw1#
所以我用一种简单的方法解决了这个问题。我没有得到gridFSBucket和GridFSFile,并试图将其迁移到新的集合中,这会使所有事情变得复杂,我只是决定直接在mongoCollections bucket1.files和bucket1.chunks上运行find()方法。
这将返回List documentsList,您可以将其插入到bucket2.files和bucket2.chunks中
我测试了它,我在bucket1中上传的图像可以在遵循此过程后从新的集合bucket2中检索。