[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
2022-02-04 10:08:43
質問
を試しています。 W3schoolsチュートリアル nodeJSとMongoDBについて。
この例をnodeJS環境で実装し、AJAXコールで関数を呼び出そうとすると、以下のようなエラーが発生します。
TypeError: db.collection is not a function
at c:\Users\user\Desktop\Web Project\WebService.JS:79:14
at args.push (c:\Users\user\node_modules\mongodb\lib\utils.js:431:72)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:254:5
at connectCallback (c:\Users\user\node_modules\mongodb\lib\mongo_client.js:933:5)
at c:\Users\user\node_modules\mongodb\lib\mongo_client.js:794:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
以下は、私が実装したコードです。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mytestingdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.collection("customers").findOne({}, function(err, result) {
if (err) throw err;
console.log(result.name);
db.close();
});
});
実行がヒットするたびにエラーが発生することに注意してください。
db.collection("customers").findOne({}, function(err, result) {}
また、(一応)node JS用の最新のMongoDBパッケージをインストールしたことに注意してください( npm インストール mongodb ) で、MongoDB のバージョンは MongoDB Enterprise 3.4.4 で、MongoDB Node.js ドライバーは v3.0.0-rc0 です。
どのように解決するのですか?
私も同じことに遭遇しました。package.json の mongodb の行を "mongodb": "^2.2.33" に変更します。MongoDB Driver/ node_modules 等を削除して mongodb npm をアンインストールしてから npm をインストールすると、このバージョンがインストールされます。
これで私の場合、問題は解決しました。バグかドキュメントを更新する必要があるようです。
関連
-
[解決済み] テスト
-
[解決済み】ExpressJSとMeteorJSの比較【終了しました
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] node.js - リクエスト - "emitter.setMaxListeners() "はどのように?
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)
-
[解決済み] Express.js req.bodyが未定義です。
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。
-
[解決済み] "app.use(express.cookieSession())" に "secret" オプションが必要です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「安全なTLS接続が確立される前にクライアントのネットワークソケットが切断されました」(ノード10
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] Heroku "状態が起動から停止に変更されました SIGTERMで全プロセスを停止"
-
[解決済み] TypeErrorです。リクエストパスにエスケープされていない文字が含まれています。
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み] Node.jsのWebアプリケーションでMongoDBの接続を管理するにはどうすればよいですか?