2016-04-09 15 views
1

オープンシフトでmongodbに接続するにはどうすればいいですか?このようなものを使って MongoDB 2.4データベースが追加されました。
これらの資格情報に留意してください:node.jsを使用してopenshiftでmongodbへの接続を作成する方法

ルートユーザ:管理者 rootパスワード:kc18cxkk7c1qs データベース名:トップ

接続URL:MongoDBの:// $ OPENSHIFT_MONGODB_DB_HOST:$ OPENSHIFT_MONGODB_DB_PORT/ のNode.jsを使ってプログラムは、誰かが私にこれを設定する方法を教えてもらえますか? localhostとonlineの両方に接続するコードを作ることも可能です。事前

var config = {}; 

config.crawler = {}; 
config.db = {}; 
config.parser = {}; 
config.web = {}; 

// Excluded extensions for crawling 
//config.crawler.excludedUrlPatterns = [ 
//  "\\.(pdf|js|css|zip|docx|jpg|png|gif|woff|xml|rss)$" 
//  ]; 
// which extension allow to crawl 
config.crawler.allowedUrlPatterns = [ 
     "/[^./]*$" // extension less 
     ,"\\.(html|htm|aspx|php)$" // .html + .htm 
     ]; 
// List of content types to process 
config.crawler.contentTypes = ["text/html"]; 
// crawler interval 
config.crawler.interval = 300; 
// crawler maxConcurrency 
config.crawler.maxConcurrency = 2; 
config.crawler.timeout = 20 * 1000; // 20 seconds 
config.crawler.maxResourceSize = 1024 * 1024 * 1; // 1mb 
config.crawler.customHeaders = {}; // { "Authorization" : "secret" }; 
config.crawler.acceptCookies = false; 


config.db.mongo = {}; 
config.db.mongo.ip = process.env.IP || "localhost"; 
config.db.mongo.url = "mongodb://" + config.db.mongo.ip + ":27017/topic-aggregator"; 


// html "jquery style" selector for the body content (es. "body", "article", "div#text") 
// can be override on each site 
config.parser.defaultContentSelector = "body"; 

// use port 3000 for listening (replace port number) 
config.web.port = process.env.PORT || process.env.WEB_PORT || 3000; 
config.web.ip = process.env.IP; 

config.web.logRequests = false; 

module.exports = config; 
+0

あなたは既にprocess.env' 'から物事を読んでいるので、ちょうど' OPENSHIFT_MONGODB_DB_HOST'ために同じことを行いますOPENSHIFT_MONGODB_DB_PORT'環境変数も使用できます。 'IP'と' PORT'変数だけがあなたの "アプリケーション"ホストであり、実際には別のホストであるMongoDBが存在する場所ではないので、ちょっと混乱しているようです。したがって、 "異なる"環境変数。 –

+0

だから、db、ユーザー名、パスワード、ポートなどを指定する必要はなく、OPENSHIFTのデフォルトのポート番号は8080のようです –

答えて

0

でこの it-carlow210.rhcloud.com

おかげのような 私openshiftアカウントルックユーザ名とパスワードの環境変数を使用することをお勧めします。私はこのようにします:

const env = process.env; 
const dbName = '/tadejp'; 
const dbURL = (env.OPENSHIFT_MONGODB_DB_HOST) ? (env.OPENSHIFT_MONGODB_DB_USERNAME + ':' +env.OPENSHIFT_MONGODB_DB_PASSWORD+ '@' + env.OPENSHIFT_MONGODB_DB_HOST +':'+env.OPENSHIFT_MONGODB_DB_PORT+dbName) : 'localhost:27017'+dbName; 

そしてお好みのモジュールとの接続を行う...

const db = monk(dbURL); 
関連する問題