使用C#访问MongoDB Rest服务

发布于 2024-11-07 14:06:01 字数 908 浏览 0 评论 0原文

我是 mongoDb 的初学者,我想访问 MongoDb Rest 服务,我检索的数据是 json 类型。我的问题是,你如何解析这些数据?我没有找到任何 MongoDb api 可以让我轻松查询它。那么你会怎么做?

这是数据的示例,我查询了键“Name”,由于以下网址,该键将我返回到行: http://localhost:28017/MyDatabase/MyCollection/?filter_Key=名称

{ “偏移量”:0, “行”:[ { "_id" : { "$binary" : "fXvnbtlMhU24EWg9NiY5QQ==", "$type" : "03" }, "键" : "名称", "值" : "约翰·史密斯" } ],

"总行数": 1 , “查询”:{“键”:“名称”}, “毫利斯”:0 ]

我想检索值“John Smith”

谢谢

[编辑 我已经设法从我的 json 中获取 {"Value": "John Smith"} 。哦!!看看这个丑陋的代码:

var urlToFetch = "http://`localhost`:28017/MyDatabase/MyCollection/?filter_Key=Name";
var jsonData = GetDataFrom(urlToFetch);
var value = JsonConvert.DeserializeObject(jsonData);
foreach (var key in ((JObject)value)["rows"].Values())
{
    key.Parent.Last;
}

它并不完美,我仍然没有得到我的 John Smith 但一定有一个更好的方法而无需手动解析,不是吗?

I'm a beginner with mongoDb, I would like to access MongoDb rest service, the data I retrieved is json type. My question is, how do you parse this data ? I don't find any MongoDb api which allows me to query it easily. So what would you do ?

Here's an example of the data, I queried the key "Name" which returned me on row thanks to this url:
http://localhost:28017/MyDatabase/MyCollection/?filter_Key=Name

{
"offset" : 0,
"rows": [
{ "_id" : { "$binary" : "fXvnbtlMhU24EWg9NiY5QQ==", "$type" : "03" }, "Key" : "Name", "Value" : "John Smith" }
],

"total_rows" : 1 ,
"query" : { "Key" : "Name" } ,
"millis" : 0
}

And I would like to retrieve the Value "John Smith"

Thank's

[EDIT]
I've managed to get {"Value": "John Smith"} out of my json. oh!! See this ugly code:

var urlToFetch = "http://`localhost`:28017/MyDatabase/MyCollection/?filter_Key=Name";
var jsonData = GetDataFrom(urlToFetch);
var value = JsonConvert.DeserializeObject(jsonData);
foreach (var key in ((JObject)value)["rows"].Values())
{
    key.Parent.Last;
}

It's not perfect, I still don't get my John Smith But there're must be a better way without manually parsing, aren't there ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丢了幸福的猪 2024-11-14 14:06:01

这里的解决方案伙计们:

public class yourclass
{
    public void transformJsonToObject()
    {
     JsonSerializer serializer = new JsonSerializer();
     var value = JsonConvert.DeserializeObject<ResultViewModel>(jsonData);
     }
}
public class ResultViewModel
{
    [JsonProperty("offset")]
    public int Offset;
    [JsonProperty("rows")]
    public TestViewModel[] Rows;
}

public class TestViewModel
{
   [JsonProperty("_id")]
    public TestArray Id { get; set; }
    public string Key { get; set; }
    public string Value { get; set; }
}

public class TestArray
{
    [JsonProperty("$binary")]
    public string Binary { get; set; }
    [JsonProperty("$type")]
    public string Type { get; set; }
}

Here the solution guys:

public class yourclass
{
    public void transformJsonToObject()
    {
     JsonSerializer serializer = new JsonSerializer();
     var value = JsonConvert.DeserializeObject<ResultViewModel>(jsonData);
     }
}
public class ResultViewModel
{
    [JsonProperty("offset")]
    public int Offset;
    [JsonProperty("rows")]
    public TestViewModel[] Rows;
}

public class TestViewModel
{
   [JsonProperty("_id")]
    public TestArray Id { get; set; }
    public string Key { get; set; }
    public string Value { get; set; }
}

public class TestArray
{
    [JsonProperty("$binary")]
    public string Binary { get; set; }
    [JsonProperty("$type")]
    public string Type { get; set; }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文