mongoDB C#Driver没有返回任何数据

时间:2016-12-07 21:46:45

标签: c# mongodb driver document bson

我遇到的问题是C#Driver没有使用 async-await 同步方法返回任何数据。

当尝试在命令行中运行时,它运行正常,这里是代码片段:

db.Collection_StudentResults.aggregate([ { $unwind: "$modules" }, { $match: { "studentNumber": "", "modules.code": "" } } ])

以及我如何在C#中设置它:

public static async Task<BsonDocument> getSingleStudentData(string studentNumber)
    {
        var client = new MongoClient("mongodb://localhost:27017");
        var db = client.GetDatabase("dbStudents");
        var collection = db.GetCollection<BsonDocument>("Collection_StudentResults");

        var aggregate = collection.Aggregate()
            .Unwind("modules")
            .Match(new BsonDocument { { "studentNumber", studentNumber } });

        var result = await aggregate.ToListAsync();

        return result.FirstOrDefault();
    }

使用的驱动程序: v2.4.0 MongoDB版本: v3.2.10

Collection_StudentResults 中,第一个文档包含 studentNumber 模块数组,每个文档位于 modules 数组中有代码字段。

请帮忙! 感谢

1 个答案:

答案 0 :(得分:0)

对不起 - 我的坏,坏坏......

我在构建器脚本中错过了db = db.getSiblingDB - 这导致数据进入根数据库。

一切顺利。