繁体   English   中英

包含特定字段以使用 C# 从 MongoDB 获取数据时出错

[英]Getting a error while including particular field to get data from MongoDB using C#

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

“IFindFluent<BsonDocument, BsonDocument>”不包含“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;    

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM