是否有可能从一个随机检索BsonDocument选择Specfiic领域?

问题描述 投票:0回答:1

我使用下面的代码来检索MongoDB数据库的随机文件(客户端,数据库和收集参数已经有意改变)。

[HttpGet]
public ActionResult<BsonDocument> Get()
{
    var client = new MongoClient(CLIENT);
    var database = client.GetDatabase(DATABASE);
    var collection = database.GetCollection<BsonDocument>(COLLECTION);


    var document = collection.AsQueryable().Sample(1).First();

    Response.ContentType = "application/json";

    return document;
}

[{ “名称”: “_ ID”, “值”: “5c4f2f7b9914ed3a4b8a9b8f”},{ “名称”: “ID”, “值”:3470264},{ “名称”: “坐标”, “值”:[{ “名”: “结肠”, “价值”: - 48.479172},{ “名”: “纬度”, “价值”: - 20.94944}]},{ “名”: “国家”, “值”:“BR “},{” 名称 “:” geoname “ ”值“:[{ ”名称“: ”CL“, ”值“: ”P“},{ ”名称“: ”代码“, ”值“:” PPL “},{” 名称 “:” 父 “ ”值“:3448433}]},{ ”名称“: ”LANGS“, ”值“:[[{ ”名称“: ”链接“, ”值“:” http://en.wikipedia.org/wiki/Bebedouro “}]]},{” 名称 “:” 姓名 “ ”值“: ”贝贝多鲁“},{ ”名称“: ”统计“, ”值“:[{ ”名称“: ”水平“,” 值“:1.0},{” 名称 “:” 群体”, “值”:71862}]},{ “名称”: “站”, “值”:[[{ “名称”: “ID”, “值” :4566},{ “名称”: “DIST”, “值”:76},{ “名称”: “KF”, “值”:1}]]},{ “名称”: “缩放”,“值“:9}]

然而,由于一些记录含有比其他人更多的领域,我想选择一个特定的两个用于进一步处理。使用上面的结果,这些将是:

{ “名”: “国家”, “值”: “BR”} { “名”: “名字”, “值”: “贝贝多鲁”}

有没有办法做到这一点?

c# asp.net mongodb
1个回答
0
投票

经过一番思考,我已经找到了解决问题的办法。

1)的方法的结果改变为元组。 2)这两个字段的值,即城市和国家被检索,并转换为字符串。 3)这两个值被添加到元组。

[HttpGet]
public ActionResult<Tuple<string, string>> Get()
{
    var client = new MongoClient(CLIENT);
    var database = client.GetDatabase(DATABASE);
    var collection = database.GetCollection<BsonDocument>(COLLECTION);

    var document = collection.AsQueryable().Sample(1).First();

    var city = document.GetValue("name").ToString();
    var country = document.GetValue("country").ToString();

    Tuple<string, string> result = new Tuple<string, string>(city, country);

    Response.ContentType = "application/json";

    return result;
}

而现在的结果如下。

{ “物品1”: “翠湖”, “ITEM2”: “US”}

© www.soinside.com 2019 - 2024. All rights reserved.