如何使用c#driver mongodb获取文档的id

时间:2016-06-16 09:16:10

标签: c# asp.net-mvc mongodb

我需要从文档中获取id以将其放入另一个文档中,但我无法实现此目的。我尝试了很多次,但结果不好。如果有人可以提供帮助。

这是我的控制器:

    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 个答案:

答案 0 :(得分:2)

当你保存新文档时,你的Bson Id被设置在执行后由InsertOne方法传递的同一文档中。

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

我希望这会对你有所帮助。