Mongodb驱动程序中的BsonRegularExpression不返回所需值

时间:2019-09-04 11:35:27

标签: c# json regex mongodb

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

{
    "_id": "5d6f514c19038b8b38aec8d7",
    "SHA-256": "839c95cb99e8243d762ccb6f33ed8e1550b6848f739556e71dc8bcf684a159c5",
    "File Name": "Settings.settings",
    "Start Job Date": "2019-09-04T05:53:43.397Z"
}

我想知道有多少Start Job Date开头的2019-09

文档?

现在我有:

IMongoDatabase db = dbClient.GetDatabase("GSCADB");
var collection = db.GetCollection<BsonDocument>("GSCALogs");
var filter = Builders<BsonDocument>.Filter.Regex("Start Job Date", new BsonRegularExpression("^(2019-09)"));
var countedDocuments = collection.Find(filter).ToList();
MessageBox.Show(countedDocuments.Count.ToString());

但是它总是打印0,我丢失了什么?

2 个答案:

答案 0 :(得分:0)

您可以使用此mongodb查询获取输出

db.getCollection('GSCALogs')。find({开始工作日期:{$ regex:new RegExp('^。'+“ 2019-09” +'。','i ')}})。count()

  • 它将返回“开始工作日期”为“ 2019-09”的实际计数

答案 1 :(得分:0)

我想出了什么问题,将日期以字符串形式写入数据库后,它被保存为datetime而不是字符串:

quote_author_image