繁体   English   中英

如何从 Ballerina 连接到 MongoDB Atlas 集群?

[英]How do I Connect to MongoDB Atlas cluster from Ballerina?

我一直在尝试使用mongodb:Client连接到 MongoDB Atlas 中的集群。 我找不到 Ballerina 客户端支持的任何connection string 我找不到任何建议如何这样做的示例代码。

以下是源代码

import ballerinax/mongodb;

configurable string app = ?;
configurable string pwd = ?;

mongodb:Client mongoCli = check new ({connection: {url: string `mongodb+srv://${app}:${pwd}@fina-a-journey.ugfjnsm.mongodb.net/?retryWrites=true&w=majority`}});

public function main() {
    mongodb:Error? insert = mongoCli->insert({name: "Jhon", age: 16}, "users");
}

请参考https://lib.ballerina.io/ballerinax/mongodb/4.0.0/records/ConnectionConfig

你可以试试这个:

mongodb:ConnectionConfig mongoConfig = {
    connection: {
        url: "xxxxx"
    },
    databaseName: "MyDb"
};
mongodb:Client mongoClient = check new (mongoConfig);

我传递给客户端的连接字符串中的密码有一些特殊字符,应该使用 % 进行转义。 在 escaping 之后它起作用了。 这里指定https://www.mongodb.com/docs/atlas/troubleshoot-connection/#special-characters-in-connection-string-password

你可以试试这个

mongodb:ConnectionConfig mongoConfig = {
    connection: {url: "mongodb+srv://<username>:<password>@xxxxx.xxxx.mongodb.net/?retryWrites=true&w=majority"},
    databaseName: "xxxxx"
};

我在服务端点尝试过这个。

mongodb:Client mongoClient = check new (mongoConfig);
string collection = "test2";
map<json> doc = { "key1": "Value", "key2": "value2" };
check mongoClient->insert(doc, collection);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM