gpt4 book ai didi

c++ - 如何使用 C++ 在 MongoDB 中创建地理空间索引

转载 作者:行者123 更新时间:2023-11-30 03:32:59 27 4
gpt4 key购买 nike

在 python/pymongo 中,创建地理空间索引非常简单:

db.collection.create_index([("loc", GEO2D)], min=-100, max=100)

之后我可以使用“loc”字段插入数据。

但在 C++/mongocxx 中,在引用了 mongocxx 文档 ( http://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/tutorial/ ) 和 GeoSpatial 文档后,我仍然不知道该怎么做。

谁能告诉我如何在 C++ 中处理地理空间索引?提前致谢。

最佳答案

您可以使用 C++ 驱动程序以类似于 Python 驱动程序的方式创建地理空间索引;主要区别在于,不是将最小值和最大值作为直接参数传递给 create_index,而是将它们设置在 options::index 对象中,然后传递给 创建索引。这是一个使用 C++ 驱动程序创建上述索引的简短程序:

#include <bsoncxx/builder/basic/document.hpp>
#include <bsoncxx/builder/basic/kvp.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/options/index.hpp>
#include <mongocxx/uri.hpp>

using namespace mongocxx;
using bsoncxx::builder::basic::kvp;

int main() {
instance inst{};

client conn{uri{}};
auto coll = conn["db_name"]["coll_name"];

bsoncxx::builder::basic::document index_doc;
index_doc.append(kvp("loc", "2d"));

coll.create_index(
index_doc.extract(),
options::index{}
.twod_location_min(-100).twod_location_max(100));

关于c++ - 如何使用 C++ 在 MongoDB 中创建地理空间索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43285481/

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