MongoDB-Docker - 如何将项目插入 mongo-express

问题描述 投票:0回答:1

我正在尝试使用

mongo
mongo-express
进行简单的 docker-compose,并尝试使用 Python 脚本插入文档。该项目已成功添加到
mongodb
,但未在
mongo-express
中显示。请帮助我。

compose.yaml

version: '3.0'
services: 
  mongodb:
    image: mongo
    container_name: mongodb
    ports:
      - "27017:27017"

  mongo-express:
    image: mongo-express
    environment:
      - ME_CONFIG_MONGODB_SERVER=mongodb
      - ME_CONFIG_MONGODB_PORT=27017
    container_name: mongo-express
    ports: 
      - "8080:8081"

测试.py

from pymongo import MongoClient

# Connect to MongoDB
client = MongoClient('mongodb://localhost:27017')

# Connect to database
db = client['testing']

# Connect to collection
collection = db['testcollection']

# Insert document
try:
    collection.insert_one({"name": "John Doe", "age": 100})
    print("test complete")
except:
    print("there was an error")
else:
    print("Finished")
---

码头工人:

2aefafcbafa7   mongo           "docker-entrypoint.s…"   16 minutes ago   Up 16 minutes   0.0.0.0:27017->27017/tcp   mongodb      
a971ac83bade   mongo-express   "/sbin/tini -- /dock…"   16 minutes ago   Up 16 minutes   0.0.0.0:8080->8081/tcp     mongo-express

docker 网络检查桌面_默认值:

[
    {
        "Name": "desktop_default",
        "Id": "5c29ea429da3644b4726a45b7a918eefe086c26bea58d75d761f7fcdb234eea6",
        "Created": "2024-09-01T08:35:42.61717286Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "2aefafcbafa716dadb624d4252d355e054bbaed45a1612e85e1c5cdf48c5ec44": {
                "Name": "mongodb",
                "EndpointID": "9430405d03ed9741bdd6c30afecbd881ee976fd96f7675fccd520d3c38fda899",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            },
            "a971ac83badeb40a2f531c8c42740ca8b9ce62047af6a40342887f151f4156d8": {
                "Name": "mongo-express",
                "EndpointID": "c6c8bbd4ecd90b88c94ee4cecd07eb40d9dc3c26c41f4ee3da51ed43b0543f61",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "default",
            "com.docker.compose.project": "desktop",
            "com.docker.compose.version": "2.29.1"
        }
    }
]

我对此失去了理智。

python mongodb docker docker-compose mongo-express
1个回答
0
投票

您可以进入 MongoDB 容器并使用 MongoDB shell 检查数据是否位于正确的数据库和集合中:

docker exec -it mongodb mongo
use testing
db.testcollection.find().pretty()

这将向您显示测试集合中的文档。

© www.soinside.com 2019 - 2024. All rights reserved.