如何使用C#驱动程序将特定BsonType的字段添加到MongoDB文档

时间:2014-04-24 17:29:36

标签: c# mongodb

我想在BsonDocument

中添加字段和值
var bsonTypeValue = "Date";
var fieldValue = "2014-04-24T16:42:26";
BsonType bsonType;
const bool IgnoreCase = true;
if (Enum.TryParse(bsonTypeValue, IgnoreCase, out bsonType))
{
    var x = BsonValue.Create(fieldValue);
    doc[fieldName] = x;
}

但是如何指定BsonType x是什么? x.BsonType是只读的。

上面的示例是硬编码的,但我要做的是让bsonTypeValue和fieldValue来自配置文件,所以如果可能的话,我宁愿不编写大的if / else或switch语句。< / p>

1 个答案:

答案 0 :(得分:0)

看起来BsonTypeMapper.MapToBsonValue()就是我想要的。所以现在我的代码看起来像这样:

var bsonTypeValue = "DateTime";
var fieldValue = "2014-04-24T16:42:26";
BsonType bsonType;
const bool IgnoreCase = true;
if (Enum.TryParse(bsonTypeValue, IgnoreCase, out bsonType))
{
    var x = BsonTypeMapper.MapToBsonValue(fieldValue, bsonType);
    doc[fieldName] = x;
}