java - 在 MongoDB 中创建测试数据

标签 java mongodb

我想为 MongoDB 生成测试数据。大小应为 200 Mb。我试过这段代码:

@Test
    public void testMongoDBTestDataGenerate()
    {
        MongoClient mongoClient = new MongoClient("localhost", 27017);

        DB db = mongoClient.getDB("development");
        DBCollection collection = db.getCollection("ssv");

        for (int i = 0; i < 100; i++)
        {
            BasicDBObject document = new BasicDBObject();
            document.put("database", "test");
            document.put("table", "hosting");

            BasicDBObject documentDetail = new BasicDBObject();
            documentDetail.put("records", 99);
            documentDetail.put("index", "vps_index1");
            documentDetail.put("active", "true");

            document.put("detail", documentDetail);

            collection.insert(document);
        }

        mongoClient.close();

    }

我如何才能生成恰好具有此大小的数据?

最佳答案

我没有得到您想要通过设置大小 200 Mb 实现的目标。

您可以添加逻辑检查。

  1. db.testCollection.stats() - 您可以在每次插入之前检查集合的大小。

  2. Object.bsonsize(..) - 您还可以在插入之前检查文档大小,使其恰好为 200 MB。

您还可以设置上限集合,您可以在其中通知文档数量或集合大小。

希望这对您有所帮助。

关于java - 在 MongoDB 中创建测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38152073/

相关文章:

javascript - Node.js - 如何检查请求数据?

mongodb - 我怎样才能在 MongoDB 中查找并替换所有内容?

MongoDB 批量 csv 导入(充满 csv 的文件夹)

mongodb - Mongoexport 保持在 0%

mongodb - 手动设置 MongoDB $sample 的种子

java - 减少大量图像的内存使用

java - 如何在 Java 上使用 Faker 创建随机登录

java - Android 应用程序支持主要的 android 版本

java - "modern JVMs"与旧版 JVM 有何不同?

java - 在 Java 中打开 Quadratic Sieve Jar 文件