【发布时间】:2018-02-18 18:56:06
【问题描述】:
我正在尝试将 BSON 文档插入到 Mongo 集合中。
MongoDB.Driver.MongoCommandException: '命令插入失败:解析错误 字段文档的元素 0 :: 由 :: '0' 字段的错误类型引起, 预期对象,找到 0: [ { 选区:“阿伯丁北部”,选举:“2010 大选”,选民:64808,多数:8361,ResultOfElection:“实验室 保持”,投票率:37701,投票率:100.0 } ]。'
下面是我的代码。
public void retrieveElectionResuts(string url)
{
var client = new RestClient(url);
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
var con = response.Content;
//Cleaning JSON format
RootObject result = JsonConvert.DeserializeObject<RootObject>(con);
List<Item> items = result.result.items;
List<ConstituencyResult> electionResults = new List<ConstituencyResult>();
MongoContext context = new MongoContext();
var db = context.connect();
var collection = db.GetCollection<BsonArray>("constituencyResult");
foreach (Item item in items)
{
ConstituencyResult constituencyResult = new ConstituencyResult
{
Constituency = item.constituency.label._value.ToString(),
Election = item.election.label._value.ToString(),
Electorate = item.electorate,
Majority = item.majority,
ResultOfElection = item.resultOfElection,
Turnout = item.turnout,
TurnoutPercentage = ((item.electorate) / (item.turnout)) * 100
};
BsonArray array = new BsonArray();
array.Add(constituencyResult.ToBsonDocument());
collection.InsertOne(array);
}
}
我曾尝试直接添加文档(即,不将其放入 BSON 数组中),但这仍然会引发错误。
【问题讨论】: