【问题标题】:mongodb C#: query the value of untyped nested documentmongodb C#:查询无类型嵌套文档的值
【发布时间】:2018-10-01 20:02:13
【问题描述】:

这是我数据库中的 BsonDocument 示例

{
    "employee": "A",
    "job history": [{
            "job name": "sales",
            "time": 2016
        },
        {
            "job name": "manager",
            "time": 2018,
            "location": [
                "NY",
                "OH"
            ]
        }
    ]
}

如果我需要像“员工姓名”这样的简单查询,我会这样

var query = collection.Find(new BsonDocument("employee", "{}")).ToList();

现在,如果我想检索“位置”的值,我该怎么办?

【问题讨论】:

  • employee.location?还是您在问如何仅搜索位置数组?
  • 对不起,我是 mongoDB 的新手,但我找不到详细的文档。我在他们的网站上试过但没有希望,所以我在这里发布我的问题

标签: c# json mongodb querying


【解决方案1】:

这里有一个例子可以帮助你:

// search by employee field
var result = collection.Find("{ 'employee': 'A' }").ToList();
Console.WriteLine(result.First()["job history"].AsBsonArray[1].AsBsonDocument["location"]); // prints [NY, OH]

// search by location
result = collection.Find("{ 'job history.location': 'NY' }").ToList();
Console.WriteLine(result.First()["employee"]); // prints A

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-10
    • 2021-02-25
    • 2016-08-16
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多