【问题标题】:Getting a error while including particular field to get data from MongoDB using C#包含特定字段以使用 C# 从 MongoDB 获取数据时出错
【发布时间】:2021-03-17 02:09:25
【问题描述】:

我正在尝试使用 Collecion.SetFields 方法设置特定字段,以使用 c# 从 MongoDB 获取特定数据。但它向我显示错误:

“IFindFluent”不包含“SetFields”的定义,也没有可访问的扩展方法“SetFields”接受类型的第一个参数。

这是我正在使用的代码:

public MongoCursor<BsonDocument> GetRecordsAsynchronously(string runnumber, string fileType)
{
    var collection = Database.GetCollection<BsonDocument>(_collectionName);
    var bsonQueryDocument = new QueryDocument(new BsonDocument() { { "RunNumber", runnumber }, { "FileType", fileType } });
    var record = collection.Find(bsonQueryDocument);            
    record.SetFields(Fields.Include("ProcessedData", "Status", "Filename"));
    return record;
}

我已经尝试过如下代码和其他代码:

var cursor = collection.Find<BsonDocument>(Query.EQ("RunNumber", runnumber));
cursor.SetFields(Fields.Include("ProcesrecordsedData", "Status", "Filename"));
return cursor;    

提前感谢您的建议和帮助!

【问题讨论】:

    标签: c# .net mongodb


    【解决方案1】:

    我习惯于通过 js 而不是 c# 与 mongo 交互,但看起来问题是记录是游标而不是文档。尝试将FirstOrDefault() 链接到您的Find,或者如果您期待一堆文档,您可以使用ToList()

    【讨论】:

    • 感谢您的建议。我已经尝试过了,我得到了同样的错误。它不适合我
    • 啊抱歉,也许还可以按照此线程中的建议尝试 Projection()? stackoverflow.com/questions/28541082/…
    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多