如何在C#中验证MongoDB聚合Pipeline的$collStats含storageStats字段
验证MongoDB聚合管道中的$collStats是否包含storageStats字段
既然你已经能获取到聚合管道的单个阶段并判断出是$collStats命令,完全不需要序列化这么麻烦——直接利用BsonDocument的原生API就能轻松验证storageStats字段是否存在。
具体步骤如下:
- 从阶段的
BsonDocument中取出$collStats对应的子文档 - 直接调用
Contains方法检查该子文档是否包含storageStats字段;如果需要验证字段的具体内容,还可以进一步访问该字段的类型或值
示例代码(C#):
// 假设stage是你获取到的单个聚合阶段BsonDocument var collStatsContent = stage["$collStats"].AsBsonDocument; // 验证存在storageStats字段 Assert.True(collStatsContent.Contains("storageStats")); // 可选:如果需要验证storageStats是一个非空文档 Assert.True(collStatsContent["storageStats"].IsBsonDocument);
这种方式直接操作MongoDB驱动提供的BsonDocument对象,比序列化后再解析字符串高效得多,逻辑也更清晰。
内容的提问来源于stack exchange,提问作者Andreas Schörgenhumer
相关产品推荐
相关产品推荐

