2016-06-16 2 views
0

Мне нужно взять идентификатор из документа, чтобы поместить его в другой, но я не могу этого добиться. Я много раз пробовал, но получаю плохие результаты. Если кто-то может помочь.Как получить идентификатор документа с помощью драйвера C# mongodb

Вот мой контроллер:

public ActionResult LancerComparaison(ResultViewModel resultViewModel) 
    { 
     if (resultViewModel!= null) 
     { 
      UserInformationViewModel info = resultViewModel.UserInformationViewModel; 
      var client = new MongoClient("mongodb://localhost:27017"); 
      var objDatabase = client.GetDatabase("Test"); 
      var collection = objDatabase.GetCollection<BsonDocument>("UsersInformations"); 
      BsonDocument objDocument = new BsonDocument { 
      {"Nom",info.NomUser}, 
      {"Prenom",info.PrenomUser}, 
      {"Email",info.EmailUser}, 
      }; 
      collection.InsertOne(objDocument); 
      var id = objDocument.{_id} 
      List<ObjetTransfert> listePrestationsObjetsTransferts = new List<ObjetTransfert>(); 
      ResultatComparaison resultatComparaison; 
      ConvertGViewModelToGBd(resultViewModel, listePrestationsObjetsTransferts); 
      _compaSBT.ComparerP(listePrestationsObjetsTransferts, out resultatComparaison, 
       Enums.E.T); 

      //Enregistrer d'abord le resultat en Bd 
      resultatComparaison.IdentifiantResultatComparaison = new Guid().ToString(); 
      resultatComparaison.IdentifiantUserInformation = id.ToString(); 
      _resultatComparaisonService.Create(resultatComparaison); 

      Session["IdentifiantResultatComparaison"] = resultatComparaison.Id; 


      return View(); 
     } 
     return null; 
    } 

ответ

1

при сохранении нового документа ваш Id BSON установлен внутри того же самого документа, принятого метода InsertOne после выполнения.

collection.InsertOne(objDocument); 
var id = objDocument.{yourBsonIdProp} 

Надеюсь, это вам поможет.

+0

Я могу написать это в моем коде var id = objDocument. {YourBsonIdProp}. {YourBsonIdProp} не распознает мое редактирование, чтобы сказать мне, хорошо ли это. Также мне нужно сделать id.ToString()? –

+0

FIne это работает! Но теперь как фильтровать? я просто хочу id –

+0

Хорошо, хорошо, я сделал это как этот var id = objDocument.First(); поэтому я получаю идентификатор –