c# - 如何从 BsonDocument 中正确选择元素的值

标签 c# asp.net-mvc mongodb

所以我解释一下,我有一个 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/

相关文章:

c# - 如何更新 Azure 通知中心注册中的过期时间?

c# - 能够更新数据集但无法提交对数据库的更改

asp.net-mvc - 解析 API 响应时遇到意外字符

mongodb - 如何获得总和的总和拆分,这也是mongoDB中项目的总和

node.js - 如何从磁力链接或 infohash 创建 torrent 文件

c# - 在触发错误中设置TextDecoration

c# - 如何使用 WinForms 绘制在面板中移动的球?

asp.net-mvc - 保护ASP.NET MVC应用程序进行beta测试的安全?

asp.net-mvc - MVC BaseController 和 BaseModel 确保值对所有 View 可用

mongodb - 16mb 限制 Mongodb : Alternative