我正在尝试从集合中获取数据,我找到了搜索文档,但在从响应中获取值时遇到了一些麻烦。我需要来自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();
谢谢唐纳德
答案 0 :(得分:0)
因此,您将获得BsonDocuments
的列表。您可以使用.First()
,因为_id
是唯一的,然后使用方括号[]
访问嵌套属性-就像.NET词典中一样:
var filt = builder.Eq("_id", 337);
var doc = collection.Find(filt).First();
var city = doc["UserAdress"]["city"].AsString;