2016-11-21 14 views
0

mongoDBに接続する方法があるかどうか、私は自分のCloud9でhtmlから設定しているのだろうかと思います。つまり、私はすでに端末からデータベースに接続しており、すべてが魅力的なように機能していますが、HTML文書でスクリプト内にいくつかの処理を行う必要があります。このコードを含む関数を呼び出すと、何もしません。MongoDB Cloud9 Connection

var MongoClient = require('mongodb').MongoClient 
 
    , format = require('util').format; 
 
MongoClient.connect('mongodb://127.0.0.1:27017/ingesoft', function (err, db) { 
 
    if (err) { 
 
     throw err; 
 
    } else { 
 
     console.log("successfully connected to the database"); 
 
    } 
 
    db.close(); 
 
});

私は、「file.js」に同じコードを保存し、ノードfile.jsを使用してコンソールからそれを実行し、それが「データベースに正常に接続されている」コンソールログに出力しているプラ​​スmongoの接続を実行している端末は、もう一度dbに接続してくれます。問題は、スクリプト内でそのコードを実行しようとするとうまくいかないことです。私の無知のため申し訳ありません、私はmongoに新しいです。

すべてのヘルプははるかにあなたの質問を簡素化するために

答えて

1

をいただければ幸いです、ここで何が起こっているのです:

あなたの質問は、あなたのhtmlファイルに同じコードを貼り付け
  • を働いているのコードを含む
    • node file.jsされていない

    したがって、問題の一番下には、最初に聞かせてみましょう:の実行の違いは何ですか?とhtmlにコードを入れて?

    • 違いは、node ...がCloud9ワークスペースで実行されている点です(サーバーマシンと呼ばせてください)。 MongoDBは:://127.0.0.1:27017/ingesoft参照127.0.0.1ある
    • あなたのMongoDBサーバーにもインストールしmongodb NPMのパッケージには、サーバマシン
    • URLに存在している
    • そのサーバー・マシン上で実行されていますサーバーブラウザのコードとのに対し

    としてlocalhost:

    • はコードがあなたの顧客のマシン上で実行されている
    • 0123マシンは、あなたののMongoDBサーバ
    • ブラウザは通常、あなたがコードをバンドルし、webpackまたはbrowserifyのようなものを使用する場合は行うことができますrequire
    • が必要ですサポートしていないのですがないことを
    • 。あなたはおそらくそれをやりましたか?
    • 実際にすべてをパッケージ化した場合は、パッケージ化が必要なmongodbパッケージがありましたか?
    • mongodbパッケージをクライアント側から実行できますか?
    • URL:MongoDBの://127.0.0.1:基本的には顧客のマシン

    ためlocalhostです27017/ingesoft参照127.0.0.1、あなたは上から見ることができるように、2つは非常に異なっています。

    あなたはデシベルに話をしたい場合は、多くの人が次のルートに行く:

    • は、あなたのDB
    • にAPI交渉をREST RESTのAPI
    • のいくつかのフォームを実装するサーバアプリケーションを作ります
    • あなたのクライアントコードは、REST APIに話をし、必要なデータが

    こうすることで、あなただけのサーバーを使用して、あなたのMongoDBに話を取得し、クライアントが経由でサーバーに話すことができる方法を知っています インターネット。

    これはもちろん、単純化すぎですが、これがあなたの混乱を解決することを願っています。