c# - mongoDB C# 驱动程序未返回任何数据

标签 c# mongodb driver document bson

我遇到一个问题,即 C# 驱动程序未使用 async-awaitsynchronous 方法返回任何数据。

当尝试在命令行中运行时,它完美地工作,这是片段:

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中,第一个文档包含studentNumbermodules数组,在modules数组中每个文档有代码字段。

求助! 谢谢

最佳答案

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

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

祝一切顺利

关于c# - mongoDB C# 驱动程序未返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41027960/

相关文章:

c# - 节点如何添加到链表中并成为它的新头?

mongodb - 与MongoDB的友好关系

mongodb - 查找使用 _id 不适用于聚合

windows - Winsock Kernel的 "WskSendTo"函数在Win7 SP1上导致 "DRIVER_IRQL_NOT_LESS_OR_EQUAL"BSOD

c# - Java 等同于 C# 的委托(delegate)/事件 : Changing Event Invoked Code Dynamically

c# - 使用 WPF 绘制家谱

c# - 墨西哥 D.F.以墨西哥 D.F. 的身份出现回发时

mongodb - 从 mongodb 中的引用文档访问数据

wpf - 为什么计算机进入休眠状态会扰乱我的 WPF 程序以及该怎么办

linux - 使用 usbfs 在 usb 设备上调用 ioctl() 不起作用