C#mondodb从集合中检索数据

时间:2018-07-08 20:08:27

标签: c# mongodb

我正在尝试从集合中获取数据,我找到了搜索文档,但在从响应中获取值时遇到了一些麻烦。我需要来自UserAdress的城市。

我在数据库中的文档如下:

{
    "_id" : NumberLong(337),
    "userId" : "User_337",
    "active" : false,
    "UserAdress" : {
        "street" : "testweg",
        "plz" : "12345",
        "countryCode" : "DE",
        "city" : "berlin"
    }
}

代码如下:

MongoClient client = new MongoClient(connectionString);
var db = client.GetDatabase("EV");
var collection = db.GetCollection<BsonDocument>("endUser");
var builder = Builders<BsonDocument>.Filter;
var filt = builder.Eq("_id", 337);
var list = collection.Find(filt).ToList();

谢谢唐纳德

1 个答案:

答案 0 :(得分:0)

因此,您将获得BsonDocuments的列表。您可以使用.First(),因为_id是唯一的,然后使用方括号[]访问嵌套属性-就像.NET词典中一样:

var filt = builder.Eq("_id", 337);
var doc = collection.Find(filt).First();
var city = doc["UserAdress"]["city"].AsString;