我试图从mongo数据库中获取dataSize
var command = new BsonDocumentCommand<BsonDocument>(new BsonDocument { { "dbstats", 1} });
var dbstats = ResultDatabase.RunCommand(command);
var TotalRecordSize = dbstats["dataSize"].AsDouble;
当我的数据库真的满了,但是在清除了数据库中的所有记录后,它就失败了。
Unable to cast object of type 'MongoDB.Bson.BsonInt32' to type 'MongoDB.Bson.BsonDouble'
我将其改为
var TotalRecordSize = dbstats["dataSize"].AsInt32;
一段时间工作正常,然后我开始
Unable to cast object of type 'MongoDB.Bson.BsonDouble' to type 'MongoDB.Bson.BsonInt32'
那么我可以使用哪种数据类型?为什么DATATYPE改变了?我理解无法将一个double值放入int32,但为什么我不能将int32转换为double?
答案 0 :(得分:1)
尝试使用ToDouble
代替AsDouble
。区别为ToDouble
会将Int32
转换为双倍,这是有效的。 AsDouble
只会尝试投放哪个失败