2016-06-14 3 views
0

Как вставить более одного документа в одном операторе, используя InsertMany() MongoDB метод в C#InsertMany документа в MongoDB коллекции с использованием C# BsonArray

Мои MongoDB База данных и подключение

IMongoClient _client; 
IMongoDatabase _database; 

_client = new MongoClient(); 
_database = _client.GetDatabase("test"); 

var collection = _database.GetCollection<BsonDocument>("EmpInfo"); 

Я имея Collection - BsonArray

var EmpInfoArray = new BsonArray { 
    new BsonDocument 
    { 
     {"EmpID", "100"}, 
     {"EmpName", "John"}, 
     {"EmpMobile", new BsonArray 
         { 
          new BsonDocument { 
           {"MobNumber", "55566610"}, 
           {"IsPreferred", true}, 
           {"IsLive", false} 
          }, 
          new BsonDocument { 
           {"MobNumber", "55566611"}, 
           {"IsPreferred", true}, 
           {"IsLive", true} 
          }, 
         } 
     }, 
     {"IsLive", true} 
    }, 

    new BsonDocument 
    { 
     {"EmpID", "101"}, 
     {"EmpName", "Peter"}, 
     {"EmpMobile", new BsonArray 
         { 
          new BsonDocument { 
           {"MobNumber", "55566610"}, 
           {"IsPreferred", true}, 
           {"IsLive", false} 
          }, 
          new BsonDocument { 
           {"MobNumber", "55566611"}, 
           {"IsPreferred", true}, 
           {"IsLive", false} 
          }, 
         } 
     }, 
     {"IsLive", true} 
    }, 

    new BsonDocument 
    { 
     {"EmpID", "102"}, 
     {"EmpName", "Jack"}, 
     {"EmpMobile", new BsonArray 
         { 
          new BsonDocument { 
           {"MobNumber", "55566610"}, 
           {"IsPreferred", true}, 
           {"IsLive", true} 
          }, 
          new BsonDocument { 
           {"MobNumber", "55566611"}, 
           {"IsPreferred", true}, 
           {"IsLive", true} 
          }, 
         } 
     }, 
     {"IsLive", false} 
    } 

} 

Вставка Заявление:

collection.InsertMany(EmpInfoArray); 

В приведенном выше InsertMany() Расширенный метод имеет ошибку error. Пожалуйста, помогите мне, как вставить несколько записей в одно исполнение с помощью C#.

ответ

0

Off верхней части моей головы, ошибка сборки, скорее всего, потому что метод InsertMany ожидает сбор (IEnumerable, List или Array ..) из BsonDocument вместо BsonArray.

попробовать:

var EmpInfoArray = new List<BsonDocument>() { //Changed BsonArray to List<BsonDocument> 
    new BsonDocument 
    { 
     {"EmpID", "100"}, 
     {"EmpName", "John"}, 
     {"EmpMobile", new BsonArray 
     . 
     . 
     . 
+0

Если ответ правильный, пожалуйста, нажмите на знак клеща, чтобы принять ответ :) –

+0

пожалуйста, вы можете ответить на мой новый вопрос http://stackoverflow.com/questions/37804551/ многооконные логико-условия-в-MongoDB-выбери –

 Смежные вопросы

  • Нет связанных вопросов^_^