gpt4 book ai didi

c++ - 使用 C++ 查询 MongoDB 的日期字符串

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:54 26 4
gpt4 key购买 nike

我有一组如下所示的 MongoDB 文档:

{
...
"doc_date": ISODate("2018-03-29T00:00:00.000Z"),
...
}

我如何使用 C++(非旧版)MongoDB API 查询仅给出日期的文档(假设时间始终为 00:00:00.000)?也就是说,我想做类似的事情:

void my_func(std::string date_to_query) {
auto result = mongo_collection.find_one(document{}
<< "doc_date" << date_to_query
<< finalize); // This obviously doesn't work
// ...
}
my_func("2018-03-29");

在给定日期字符串的情况下,按日期在 Mongo 中查找文档的正确查询是什么?

最佳答案

将日期作为字符串,将其转换为表示一天开始的 std::chrono 类型,并从中构造两个 bsoncxx::b_date 对象在那天的 UNIX 时间段范围内,然后使用 $gt$lt 构建查询(根据包含/排除范围的需要进行调整)。

有关示例,请参阅:Find objects between two dates MongoDB

可能还有一种更聪明的方法可以使用聚合框架来做到这一点。

关于c++ - 使用 C++ 查询 MongoDB 的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51091639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com