sql >> データベース >  >> NoSQL >> MongoDB

docker-composeを使用してmongoデータベースをシードするにはどうすればよいですか?

    これは、mongoをシードして終了することだけを目的とした、別のDockerコンテナーを使用して行います。これはebaxtと同じ考えだと思いますが、これに対する答えを探していたとき、私はただ、迅速で汚い、しかし簡単な例を見たかったのです。これが私のものです:

    docker-compose.yml

    mongodb:
      image: mongo
      ports:
        - "27017:27017"
    
    mongo-seed:
      build: ./mongo-seed
      links:
        - mongodb
    
    # my webserver which uses mongo (not shown in example)
    webserver:
      build: ./webserver
      ports:
        - "80:80"
      links:
        - mongodb
    

    mongo-seed / Dockerfile

    FROM mongo
    
    COPY init.json /init.json
    CMD mongoimport --host mongodb --db reach-engine --collection MyDummyCollection --type json --file /init.json --jsonArray
    

    mongo-seed / init.json

    [
      {
        "name": "Joe Smith",
        "email": "[email protected]",
        "age": 40,
        "admin": false
      },
      {
        "name": "Jen Ford",
        "email": "[email protected]",
        "age": 45,
        "admin": true
      }
    ]
    


    1. どうすればFlaskでMongoDBを使用できますか?

    2. phpからmongoDBのIDで参照されているドキュメントを削除するにはどうすればよいですか?

    3. 配列要素に複数の基準を指定する

    4. mongoシェルでドキュメントフィールドを表示するにはどうすればよいですか?