如何使用MongoDB驱动程序在mongodb中“选择位置”

时间:2019-09-04 06:22:59

标签: c# json mongodb

假设我有一个名为GSCADB的数据库和一个名为GSCALogs的集合,每个documnet如下:

{
    "_id": "5d6f514c19038b8b38aec8d7",
    "SHA-256": "839c95cb99e8243d762ccb6f33ed8e1550b6848f739556e71dc8bcf684a159c5",
    "File Name": "Settings.settings",
    "File Name (GUID)": "69AA3BA5-D51E-465E-8447-ECAA1939739A",
    "New File Name": "Settings.settings",
    "File Size (Bytes)": "1379",
    "Result": "Ok",
    "File type": "settings",
    "True File type": "txt;htm;html",
    "Start Job Date": "2019-09-04T05:53:43.397Z"
}

我想知道多少文档的Rsult正常。

现在我有:

IMongoDatabase db = dbClient.GetDatabase("GSCADB");
var collection = db.GetCollection<BsonDocument>("GSCALogs");

我该如何进行?我应该创建一些对象吗?该对象的类应如何显示?

我的意思是像here一样,有一个名为Employee的C#对象,还有in this link还有一个名为User的对象,我也应该创建一个对象吗?

1 个答案:

答案 0 :(得分:1)

尝试一下

// Define the filter
var filter = new BsonDocument("Result", "Ok");

// Run the count method on the collection filtering for the required docs
var documentCount = collection.CountDocuments(filter);

这只会给您计数。如果您还需要文档,则可以

var countedDocuments = collection.Find(filter).ToList();

有关可用的Count方法的其他信息(取决于您的驱动程序版本)可以在https://mongodb.github.io/mongo-csharp-driver/2.9/apidocs/html/T_MongoDB_Driver_MongoCollectionBase_1.htm

中找到