用 Delphi 实现与MongoDBMap集的连接

vbkedwbf  于 2022-11-04  发布在  Go
关注(0)|答案(1)|浏览(177)

我正在使用 Delphi 西雅图与Firedac,我需要连接到我的基地,这是在MongoDBMap集。
在Firedac上,我只能选择放置服务器的ip,但Atlas只提供了一个连接字符串。
如何用Firedac + Delphi 连接到MongoDB Atlas?
PS:我试图获取连接字符串中引用服务器地址的部分,“mongodb+srv://address.address.mongodb.net/myFirstDatabase”,但是 Delphi 无法解析这个地址

fdbelqdn

fdbelqdn1#

我也无法开始工作,相反,我使用了REST API。例如

RESTClient1.BaseURL := 'https://data.mongodb-api.com';
RESTRequest1.Client := RESTClient1;
RESTRequest1.Resource := '/app/data-cemfo/endpoint/data/v1/action/findOne';
RESTRequest1.Method := rmPOST;
RESTRequest1.AddAuthParameter('api-key', 'FHZ....your API key', 
   pkHTTPHEADER, [poDoNotEncode]);
RESTRequest1.AddParameter('Content-Type', 'application/json', pkHTTPHEADER);
RESTRequest1.AddParameter('Access-Control-Request-Headers', '*', 
   pkHTTPHEADER);

body := TJSONObject.Create;
body.AddPair ('collection', 'mycollection');
body.AddPair ('database', 'mydbs');
body.AddPair ('dataSource', mydsrc');

subObj := TJSONObject.Create;
subObj.AddPair ('numInventory', 10);
body.AddPair ('filter', subObj);
RESTRequest1.AddBody(body);

RESTRequest1.Execute;
jsonStr := RESTResponse1.JSONValue.ToString;

相关问题