2016-04-09 2 views
1

Как можно подключиться к mongodb в openshift. используя что-то подобное. База данных MongoDB 2.4 добавлена.
Пожалуйста, обратите внимание эти учетные данные:Как создать соединение с mongodb в openshift с помощью node.js

Root User: админ Root Пароль: kc18cxkk7c1qs Имя База данных: топ

URL

соединения: MongoDB: // $ OPENSHIFT_MONGODB_DB_HOST: $ OPENSHIFT_MONGODB_DB_PORT/ с помощью Node.js ниже, может кто-нибудь рассказать мне, как это сделать. и также возможно сделать код для подключения к localhost и онлайн. мой OpenShift счет выглядеть следующим образом it-carlow210.rhcloud.com

заранее спасибо

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' и переменные среды OPENHIFT_MONGODB_DB_PORT'. Вы, кажется, немного смущены, поскольку только «IP» и «PORT» - это для вас «приложение», а не там, где находится MongoDB, что на самом деле является другим хостом. Следовательно, «разные» переменные среды. –

+0

, поэтому мне не нужно указывать, какой db, имя пользователя, пароль, порт и т. Д. И есть ли номер порта для OPENHIFT по умолчанию, как 8080 спасибо –

ответ

0

Рекомендуется использовать переменную среды для имени пользователя и пароля. Я делаю так:

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); 
Смежные вопросы