在MongoDB中创建测试数据

Pet*_*zov 8 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();

    }
Run Code Online (Sandbox Code Playgroud)

如何使用此大小精确生成数据?

Som*_*luk 4

我不明白你想通过设置大小 200 Mb 来实现什么目的。

您可以添加逻辑检查。

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

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

您还可以进行上限收集,您可以在其中通知文档数量或收集大小。

希望这可以帮助。