タイムスタンプ文字列 ("YYYYMMDD:HH:MM:SS.SSSS") を含むコレクションに対してクエリを実行する必要があります。1 時間が 9 時間未満で 14 時間を超えるすべてのドキュメントを検索したいと考えています。SQL には MID() 関数が用意されていますが、同等の関数が見つかりませんでした。このクエリを C++ で実行するにはどうすればよいですか? C++ では方法がわからないが、mongo シェルでは教えていただければ、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);
コンパイルされましたが、正しくフィルタリングされませんでした。