【问题标题】:insert DataTable in Mongo DB using c#使用 c# 在 Mongo DB 中插入 DataTable
【发布时间】:2016-06-21 09:08:44
【问题描述】:

我需要使用 C# 将数据插入 MongoDB 集合。 问题是,我有一些记录的数据表,我想将这些记录插入到 MongoDb 有谁能够帮我 谢谢大家

【问题讨论】:

  • Google 没有帮助您为此尝试一些基本代码? :))
  • 请参阅this 并请在您的问题中添加一些内容。谢谢。

标签: c# mongodb mongodb-.net-driver


【解决方案1】:

尝试 google,例如,您可以使用以下代码。

public async Task SaveDataTableToCollection(DataTable dt)
      {
          var connectionString = ConfigurationManager.AppSettings["mongoConnection"];
          var client = new MongoClient(connectionString);
          var database = client.GetDatabase("myMongoDatabaseName");

          var collection = database.GetCollection<BsonDocument>("MyCollection");

          List<BsonDocument> batch = new List<BsonDocument>();
          foreach (DataRow dr in dt.Rows)
          {
              var dictionary = dr.Table.Columns.Cast<DataColumn>().ToDictionary(col => col.ColumnName, col => dr[col.ColumnName]);
              batch.Add(new BsonDocument(dictionary));
          }

          await collection.InsertManyAsync(batch.AsEnumerable());
      }

在配置文件中:

<add key="mongoConnection" value="mongodb://localhost" />

【讨论】:

  • 这将不支持更大的数据。命令插入失败:BSONObj 大小:16793607 (0x1004007) 无效。大小必须介于 0 和 16793600(16MB) 之间 第一个元素:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
相关资源
最近更新 更多