質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

Q&A

0回答

168閲覧

HerokuでMongeDBを使いたい

mote

総合スコア128

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MongoDB

MongoDBはオープンソースのドキュメント指向データベースの1つです。高性能で、多くのリトルエンディアンシステムを利用することができます。

0グッド

0クリップ

投稿2019/07/16 15:13

herokuへデプロイをすると,

2019-07-16T14:23:00.870111+00:00 app[web.1]: Error: Cannot find module 'mongodb' 2019-07-16T14:23:00.870113+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) 2019-07-16T14:23:00.870115+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:562:25) 2019-07-16T14:23:00.870117+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:690:17) 2019-07-16T14:23:00.870119+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:25:18) 2019-07-16T14:23:00.870121+00:00 app[web.1]: at Object.<anonymous> (/app/view/js/chat.js:1:15) 2019-07-16T14:23:00.870123+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:776:30) 2019-07-16T14:23:00.870125+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10) 2019-07-16T14:23:00.870127+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:653:32) 2019-07-16T14:23:00.870129+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12) 2019-07-16T14:23:00.870130+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:585:3) 2019-07-16T14:23:00.879815+00:00 app[web.1]: npm ERR! code ELIFECYCLE

のようなエラーになってしまいます.
もちろんnpm i mongod > npm init は済んでいて,
herokuの
mLab MongoDB
というものを使って

herokuでMONGODNを使う方法からmongodbのURIも変更しました.

しかし,まだエラーが出てしまいます

自分のmongoのコードは以下です

node

1MongoClient = require("mongodb").MongoClient ; 2let url = "mongodb://heroku_tfb7hwm9:a5vj4sn4ejbdjop442ui99tvni@ds141815.mlab.com:41815/heroku_tfb7hwm9"; 3let account = "heroku_tfb7hwm9" 4module.exports = class Mongo{ 5 6 constructor(date,chat,name){ 7 this.date = date ; 8 this.chat = chat ; 9 this.name = name 10 } ; 11 12 registration(){ 13 14 MongoClient.connect(url,{ useNewUrlParser: true }, (err, db) =>{ 15 if (err) throw err ; 16 17 let dbo = db.db(account) ; 18 let obj = {date : this.date ,chat : this.chat , name : this.name} ; 19 dbo.collection("chat").insertOne(obj, function(err, res) { 20 if (err) throw err ; 21 console.log("Number of documents inserted: " + res.insertedCount) ; 22 db.close() ; 23 }) ; 24 }) ; 25 } ; 26 27 28 findall(){ 29 let pr = new Promise(function(resolve, reject){ 30 MongoClient.connect(url, { useNewUrlParser: true },function(err, db) { 31 32 if (err) throw err; 33 let dbo = db.db(account); 34 dbo.collection("chat").find({},{ projection: { _id: 0 } }).toArray(function(err, result) { 35 if (err) throw err; 36 resolve(result) ; 37 console.log("チャットlist書き出し") 38 db.close(); 39 }); 40 }); 41 }); 42 return pr; 43} ; 44 45} 46

dbをmLaBから作らないといけない?
accountの部分がdb名になるのではないでしょうか?

試したこと
$mongo ds141815.mlab.com:41815/heroku_tfb7hwm9 -u <dbuser> -p <dbpassword>

MongoDB shell version v4.0.1 connecting to: mongodb://ds141815.mlab.com:41815/heroku_tfb7hwm9 MongoDB server version: 3.6.12 WARNING: shell and server versions do not match 2019-07-17T00:09:24.568+0900 E QUERY [js] Error: Authentication failed. : DB.prototype._authOrThrow@src/mongo/shell/db.js:1679:20 @(auth):6:1 @(auth):1:2 exception: login failed

Mongoのバージョンがあっていないのでしょうか?
cloud9ではmongoのバージョンは3.4でPC内のmongoは4.0です.

ローカルからダウングレードをするか,cloud9をアップグレードすればよいのでしょうか?

ちなみにcloud9のアップグレードを試したところ,
こちらの3.6verにしましたが,エラーがおきてしまいました.
どなたか詳しい方,解決方法をお教えください...

herokuでMongoDBが使いたいのです...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/16 16:04

たぶんコピペみすってるなろうけど mongodb://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}
mote

2019/07/17 08:30

URIの部分でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問