質問: require('./lib/db'); mongo.connect(); console.log(mongo); // { connection: null, connect: [Function: connect] } ``` ### 発生している問題・エラーメッセージ lib/db.jsで定義したconnect関数をindex.jsで実行してもプロパティconnectionがnullから変わりません。想定している動作はindex.jsでconnect関数を実行するとmongoDBのコネクションがプロパティconnectionに格納されていることです。 ### 試したこと コールバック関数内にreturn文を入れたり、コールバック関数をそもそも使わなかったりしましたが、想定通りに動いてくれませんでした。 コールバック関数を使用しない場合はプロパティconnectionがPendingとなり動きが中身が変わっていました。 ### 補足情(言語/FW/ツール等のバージョンなど) nodejs:v8.2.1 mongodb:2.2.30
回答: Node.js自体は知っていますが、Node.jsでデータベースを操作した経験はありません。 私も試行錯誤すれば正しい回答をできると思うのですが、まず、私ならこうするというのを 書いておきます。 1. データベースに慣れる データベースサーバは、コマンドラインから操作することができます。 tutorialspointなどが参考になると思います。 tutorialspoint MongoDB - Environment MySQLのほうがメジャーで、日本語の解説も多いので個人的にはMySQLをお勧めしますが、 ともかく、手打ちでデータベースを一通り操作できるようになることです。 1. データベースに接続する Node.jsでmongoDBに接続するためには、Node.jsを実行する前にmongoDBサーバを 立ち上げておく必要があります。Node.jsのmongodbモジュールはあくまでmongoDBを 操作するためのドライバーであって、mongoDBそのものではないです。 GitHubのREADME.mdにはその簡単な手順が書いてあるようです。 GitHub - Mongo DB Native NodeJS Driver 頑張ってください。 以上