0

私は、mongoDB を Ubuntu OS のデータベースとして使用する deployd を使用しています。

mongoDB のすべてのデータベースは mongodb シェル内からアクセスできますが、私の質問は、デプロイされた新しいプロジェクトを作成すると、レコードを保存/読み取り/変更できますが、この新しいデータベースには mongodb シェルからアクセスできません。

この新しいプロジェクトのデータベース ファイルは、mongoDB の既定のデータ ディレクトリではなく、アプリケーション ディレクトリ内に格納されます。

また、アプリケーション内のデータベースとしての mongoDB と、すべてのアプリケーションのグローバル データベースとしての MongoDB の違いは何ですか。

現在、すべてのコレクションは、次dpdのようなオブジェクトを使用してアクセスできます

dpd.albums.get(inputParams, function(resultSet, err){ //handle result});

次のようなものを使用してこれらのコレクションにアクセスしたいのですが

db.albums.find(); //within mongod shell
4

1 に答える 1

3

「展開済み」による展開について、いくつかの誤解があるようです。

まず、「展開」は、展開されたホスト上の既存の mongoDB インストールに依存するか、別のサーバー上のホストを使用するように構成されます。したがって、「データファイル」が保持される場所は、通常、構成のポイントです。「展開」がしようとするのは、「mongod」インスタンスを起動することだけです。これは、構成がローカルである必要がある場合に独自のインスタンスが起動されるためです。

何をするにしても、すべてのオプションは設定で利用できます。ここのドキュメントに良いサンプルがあります:

var server = deployd({
  port: process.env.PORT || 5000,
  env: 'staging',
  db: {
    host: 'my.production.mongo.host',
    port: 27105,
    name: 'my-db',
    credentials: {
      username: 'username',
      password: 'password'
    }
  }
});

ご覧のとおり、ホストとポートの設定はアプリケーション自体の構成で指定されているため、デフォルトの「mongoDB」ホストとポートを使用していない場合は、次のようにコマンド ライン オプションに追加します。

mongo --host my.production.mongo.host --port 27105

したがって、同じ localhost でも、インスタンスはデフォルトの27017ポートを使用せず、接続時に指定する必要がある別のポートを使用することに注意してください。

mongo shellコマンドのドキュメントとデプロイされたドキュメント参照してください。

于 2014-05-20T07:32:41.593 に答える