我正在尝试在this mongo tutorial中导入示例数据集,但我正在尝试使用C#代码。这就是我所拥有的:
var reader = new StreamReader("C:\\primer-dataset.json");
string line;
var sb = new StringBuilder();
while ((line = reader.ReadLine()) != null)
{
sb.Append(line);
}
var documents = BsonSerializer.Deserialize<List<BsonDocument>>(sb.ToString());
var collection = _database.GetCollection<BsonDocument>("restaurants");
collection.InsertMany(documents);
当我尝试反序列化json字符串时出现以下错误:
无法从BsonType'Document'
反序列化'List'
我无法在网上找到任何错误的信息。
答案 0 :(得分:0)
最后,我必须根据Quantic的评论修改JSON文档。示例文档假定用户将使用mongoimport导入数据。一旦我添加了必要的括号和逗号以使其成为标准数组,我就可以使用以下C#代码导入它:
var collection = _database.GetCollection<BsonDocument>("restaurants");
var reader = new StreamReader("C:\\primer-dataset.json");
string line;
var sb = new StringBuilder();
while ((line = reader.ReadLine()) != null)
{
sb.Append(line);
}
var arr = JArray.Parse(sb.ToString());
foreach(JObject o in arr)
{
var d = BsonDocument.Parse(o.ToString());
collection.InsertOne(d);
}