0

我正在尝试使用 Spring 的 MongoTemplate 获取集合大小,但似乎没有很好地映射到 MongoDB 文档中的阶段$collState

我发现获得集合大小的唯一方法似乎是这样的:

    BasicDBObject command = new BasicDBObject();
    command.append("collStats", customerID);
    Document commandResult = mongoTemplate.getDb().runCommand(command);
    double collectionSize = (double) commandResult.getInteger("size") / 1024; // Display in kb

集合名称基于通过 OIDC 不记名令牌获取的 customerID。但我认为这可能会打开一个攻击向量来使用命令注入。

任何人都知道使用 mongotemplate 获取集合大小的其他方法,而无需打开命令注入,或者一个好的库来清理要插入命令的字符串?

4

0 回答 0