我需要对包含时间戳字符串(“YYYYMMDD:HH:MM:SS.SSSS”)的集合运行查询。我想查找小时小于 9 小时和大于 14 小时的所有文档。SQL 提供了 MID() 函数,但我找不到等效函数。如何在 C++ 中运行此查询?如果您不知道如何在 C++ 中使用,但在 mongo shell 中告诉我,我也许可以将其转换为 C++。
更新 使用下面JohnnyHK的建议,我尝试了:
BSONObj queryafter = BSONObjBuilder().appendRegex("date", "........:0[0-8]").obj();
BSONObj queryafter = BSONObjBuilder().appendRegex("date", "........:[17-23]").obj();
c.update(dbcol, Query(querybefore), BSON("$set"<<BSON("noise"<<"true")), false, true);
它编译但没有正确过滤。