在 C# 中检索 mongoDB 字段的值

有抱负的程序员

我希望从 MongoDB 文档中检索字段 (_id) 的值。

看起来像这样 -

{
    "_id" : "1b27413b-0eac-4986-bb17-d31d9ca666c8",
    "ReferenceNumber" : "8708753",
    "AppointmentStart" : ISODate("2018-11-11T10:00:00.000+00:00"),
    "AppointmentEnd" : ISODate("2018-11-11T10:30:00.000+00:00"),
    "PropertyValue" : "4500000",
    "Value" : "1889000",
    "Status" : "ISSUED",
    "AdviserId" : "publishSR",
    "ErqSetId" : "5d3acd58d174f71738cef81a",
    "ErqCompletionStatus" : "Completed",
    "Customer1Id" : "ee73baf3-913d-4c09-93a3-b59c6f6a542e",
    "Customer2Id" : null,
    "ErqCompletionDateTime" : ISODate("2019-08-02T13:37:17.092+01:00"),
    "IsProductRecommended" : true,
    "RecommendedProductId" : "66a1468d-f155-45a7-9f70-f29ac1bef930",
    "ProductRecommendedDateTime" : ISODate("2019-08-05T16:00:31.413+01:00"),
    "ResultSetId" : "4e70336b-39f6-4312-8e7a-c0f26f5a603d"
}

我已经编写了返回字段的代码 list -> result {{ "_id" : "1b27413b-0eac-4986-bb17-d31d9ca666c8" }}

var db = MongoApi.MongoClient.GetDatabase(MongoApi.DatabaseCases);

var collection = db.GetCollection<BsonDocument>(MongoApi.CollectionCases);

        var filter = Builders<BsonDocument>.Filter.Eq("AdviserId", "publishSR");
        var projection = Builders<BsonDocument>.Projection.Include("_id");
        var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();

如何仅从结果中检索字段的值(_id - 1b27413b-0eac-4986-bb17-d31d9ca666c8)作为字符串?

利奥·巴特库斯

在 BsonDocument 上使用重载的索引器;

result.First()["_id"].AsString();   

虽然最好保留一个 objectID 并使用 AsObjectId() 而不是 AsString();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章