【问题标题】:What is the relationship between real collections' names and those in file system真实集合的名称与文件系统中的名称之间的关系是什么
【发布时间】:2015-05-13 12:12:14
【问题描述】:

我使用带有 WiredTiger 存储引擎的 MongoDB 3.0。 当我在 dbPath 中检查我的 Mongo 文件时,我看到文件的名称格式如下: 集合-0--4989330656807016483.wt 集合2--4989330656807016483.wt 收藏4--4989330656807016483.wt . . . 除了数据大小的方式,我如何知道这些文件名和真实集合名称之间的关系??

【问题讨论】:

  • 你为什么想知道这个?

标签: mongodb wiredtiger


【解决方案1】:

我发现命令“db.collection.stats()”会显示wiredTiger.metadata.uri,它定义了集合的逻辑名称和文件名命令之间的关系

【讨论】:

  • 非常感谢!但是如何识别索引文件?我想用索引备份一些测试数据库。
  • 我是 wiredTiger.uri (MongoDB 3.4.18)
【解决方案2】:

使用这个

db.getCollection('collection_name').stats()

【讨论】:

    【解决方案3】:

    查找给定文件名的集合名称的简单脚本:

    function findInDb(dbName, collectionIdToFind) {
        var dbToSearch = db.getSiblingDB(dbName);
        var collectionNames = dbToSearch.getCollectionNames();
    
        for(var i = 0; i < collectionNames.length; i++){
            var name = collectionNames[i];
            var stats = dbToSearch.getCollection(name).stats();
            var uri = stats.wiredTiger.uri;
    
            if (uri.endsWith(collectionIdToFind))
                return name;
        }
        
        return null;
    }
    
    function findInAllDbs(collectionIdToFind) {
        var adminDb = db.getSiblingDB("admin");
        var dbList = adminDb.runCommand({ "listDatabases": 1 }).databases;
    
        for (var i in dbList) {
            var found = findInDb(dbList[i].name, collectionIdToFind);
            if (found != null) {
                return dbList[i].name + "." + found;
            }
        }
        
        return "(not found)";
    }
    
    print(findInAllDbs("collection-20-571885508699163146")); // filename in crash report, etc.
    

    【讨论】:

      【解决方案4】:

      您可以通过查询 GridFS 集合来查询有关您的大数据文件(> 16 M)的信息,具体而言:

      db.fs.files - 存储文件的元数据。 db.fs.chunks - 存储二进制块

      更多信息请点击此处http://docs.mongodb.org/manual/core/gridfs/

      【讨论】:

        猜你喜欢
        • 2016-07-27
        • 2010-10-26
        • 2017-06-03
        • 2014-09-17
        • 2013-09-19
        • 2021-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多