Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongoDB C#驱动程序未返回任何数据_C#_Mongodb_Driver_Document_Bson - Fatal编程技术网

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

mongoDB C#驱动程序未返回任何数据,c#,mongodb,driver,document,bson,C#,Mongodb,Driver,Document,Bson,我遇到一个问题,C#Driver使用异步等待或同步方法都没有返回任何数据 当尝试在命令行中运行时,它工作得非常好,下面是代码片段: db.Collection_StudentResults.aggregate([ { $unwind: "$modules" }, { $match: { "studentNumber": "", "modules.code": "" } } ]) 下面是我如何在C#中设置它的: 公共静态异步任务getSingleStudentData(字符串studentNum

我遇到一个问题,C#Driver使用异步等待同步方法都没有返回任何数据

当尝试在命令行中运行时,它工作得非常好,下面是代码片段:

db.Collection_StudentResults.aggregate([ { $unwind: "$modules" }, { $match: { "studentNumber": "", "modules.code": "" } } ])
下面是我如何在C#中设置它的:

公共静态异步任务getSingleStudentData(字符串studentNumber)
{
var客户端=新的MongoClient(“mongodb://localhost:27017");
var db=client.GetDatabase(“dbStudents”);
var collection=db.GetCollection(“collection_StudentResults”);
var aggregate=collection.aggregate()
.展开(“模块”)
.Match(新的BsonDocument{{“studentNumber”,studentNumber});
var result=await aggregate.ToListAsync();
返回结果。FirstOrDefault();
}
使用的驱动程序:v2.4.0 MongoDB版本:v3.2.10

集合\u StudentResults中,第一个文档包含studentNumbermodules数组,在modules数组中,每个文档都有code字段

请帮忙!
谢谢

对不起-我的坏,坏

我的生成器脚本中缺少db=db.getSiblingDB,这导致数据进入根数据库

祝你一切顺利

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();
    }