我正在尝试从控制台应用程序(Visual Studio C#)连接到在docker容器中运行的mongodb,但无法完成。
运行应用程序时没有出现任何错误,但是当我检查docker容器内的mongodb时,它没有显示应用程序插入的任何文档。
这是我尝试连接到mongodb的代码片段:
var client = new MongoClient("mongodb://127.0.0.1:27017");
var db = client.GetDatabase("test");
var collection = db.GetCollection<BsonDocument>("testColl");
var document = new BsonDocument {
{"Name", "h" },
{"Dep", "ADI" }
};
我认为在Docker容器中创建mongodb时出现了问题。.我只是简单地提取了mongo的最新镜像,然后执行以下操作:
docker run --name myMongoTestDb -d mongo
最佳答案
这里可能有一些问题:
1)创建文档后,请确保在集合上调用Insert
collection.Insert(document)
2)确保使用
-p
参数将27017端口从容器暴露给本地主机docker run --name myMongoTestDb -p 27017:27017 -d mongo
阅读更多:
暴露端口-https://github.com/wsargent/docker-cheat-sheet#exposing-ports
使用C#插入文档-https://mongodb-documentation.readthedocs.io/en/latest/ecosystem/tutorial/getting-started-with-csharp-driver.html#insert-a-document
关于c# - 在Docker中连接到mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52309284/