所以我解释一下,我有一个 Controller ,可以在数据库中保存两个信息。 id 会从一个文档转移到另一个文档。我实现了这一点,但我的 id 是以这种方式保存的:
_id=57629cb900a09432b8b3ada4
但我想要这样的:
57629cb900a09432b8b3ada4
我不知道如何做到这一点,因为我正在使用first()方法获取bson文档的第一个元素。
如果有人可以帮助我把我的 Controller 放在这里:
编辑:添加@P57提供的代码(感谢他):
var id = objDocument[_id];
成为
string id = objDocument.GetElement("_id").Value.ToString();
所以我们现在有:
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);
string id = objDocument.GetElement("_id").Value.ToString();
Session["IdentifiantUserInformation"] = 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;
}
最佳答案
这个怎么样?
string id = objDocument.GetElement("_id").Value
而不是这个...
var id = objDocument.First()
关于c# - 如何从 BsonDocument 中正确选择元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37859915/