私は同様の質問がされていることを知っていますが、実際にこれを行うコードを誰も実際に示しているわけではなく、コードを表示しないページにしかリンクしません。接続コールバックの外でMongoDBにアクセスする
とにかく、私のノードサーバーは基本的にsocket.ioイベントでデータを受信します。私はそのデータをMongoDBに入れたいと思っています。問題は、私がmongoで見たすべてのコード例は、db
オブジェクトを使用してMongoClient.connect
コールバック内のdbのみを操作することです。
私はこのデータをたくさん取得しているので、何度も何度も初期化したくありません。
MongoClient.connect(("mongodb://" + process.env.IP + ":27017/feedback"),
function(err, db) { ... });
そして後で:
socket.on('data', function (data) {
db.doStuff();
});
グローバル変数を宣言し、 'connect'コールバックで成功した' db'を割り当てることができます。しかし、グローバル変数を使用することは良い方法ではありません。 –
@SiddharthAjmera面白いことに、私はそれを試して、エラーは、割り当てられたグローバルがnullだと言った。 – Radeon348
あなたは 'MongoClient.connect'のコールバックを提供しているので、グローバルが' null'だった可能性があります。 – AJB