2016-03-21 27 views
0

Şimdi nodejs'de eğitim ve nodejs ve expressjs kullanarak bir çerçeve olarak MVC uygulamalarının nasıl geliştirileceği. TDD test senaryoları ile birlikte yazılmış Model ve Görünüm sınıfları ile birlikte bir TDD yaklaşımım var. Bir mongodb test script var ve aşağıdaki hata iletisiyle başarısız olur:Bağlantı Hatası (err) - Bir expressjs çerçevesinde nodejs kullanılarak Mongodb bağlantısı

expressjs_multech_project mul$ jasmine-node ./tests 
.......F 

Failures: 

    1) MongoDB is there a server running? 
    Message: 
    Expected { } to be null. 
    Stacktrace: 
    Error: Expected { } to be null. 
    at /Users/.../expressjs_multech_project/tests/mongodb.spec.js:6:19 
    at /Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/mongo_client.js:334:20 
    at /Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/db.js:258:16 
    at null.<anonymous> (/Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/connection/server.js:621:7) 
    at emitThree (events.js:110:13) 
    at emit (events.js:188:7) 
    at null.<anonymous> (/Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:139:15) 
    at emitTwo (events.js:100:13) 

Finished in 0.182 seconds 
8 tests, 18 assertions, 1 failure, 0 skipped 

Im bir test paketi olarak düğümün Jasmine'i kullanan ve diğer tüm testler yazılı sadece modeli ve görünümü sınıfları ile geçmektedir.

> node app.js 

Sorry, the server (mongodb) is not running 

Ben görebildiğim kadarıyla yığın izlemesini geri araştırılmış ve: my mongodb TDD komut MongoDB üzerinde başarısız olur ve ben npm start, bunun app.js hata mesajı dönen başlamaz zaman neden anlamıyorum mongodb ve onun geri dönüşü ile bağlantı kurulamadı. Eminim onun orada olmak için MongoDB kontrol:

Johns-MacBook-Pro:expressjs_multech_project mul$ npm list mongodb 
[email protected] /Users/.../expressjs_multech_project 
└── [email protected] 

Ben ilaçları ancak bugüne kadar hiçbir şey çalışıyor tahsis çalıştık. Bu expressjs MVC eğitim projesine devam edebilmem için sunucuyla bağlantı sorununu çözme konusunda herhangi bir fikrin var mı?

benim config/index.js

şuna benzer:

İşte
var config = { 
    local: { 
     mode: 'local', 
     port: 3000, 
     mongo: { 
     host: '127.0.0.1', 
     port: 27017 
     } 
    }, 
    staging: { 
     mode: 'staging', 
     port: 4000, 
     mongo: { 
     host: '127.0.0.1', 
     port: 27017 
     } 
    }, 
    production: { 
     mode: 'production', 
     port: 5000, 
     mongo: { 
     host: '127.0.0.1', 
     port: 27017 
     } 
    } 
} 
module.exports = function(mode) { 
    //export module configuration making it available to all files in folder 
    return config[mode || process.argv[2] || 'local'] || config.local; 

npm install

muls-MacBook-Pro:expressjs_multech_project jmulhall$ npm install mongodb --save 

> [email protected] install /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project/node_modules/kerberos 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

    CXX(target) Release/obj.target/kerberos/lib/kerberos.o 

> [email protected] install /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project/node_modules/bson 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 

    CXX(target) Release/obj.target/bson/ext/bson.o 
[email protected] /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project 
├─┬ [email protected] 
│ └─┬ [email protected] 
│ └─┬ [email protected] 
│  └─┬ [email protected] 
│  └─┬ [email protected] 
│   └── [email protected] 
└─┬ [email protected] 
    ├─┬ [email protected] 
    │ └── [email protected] 
    ├── [email protected] 
    └─┬ [email protected] 
    └── [email protected] 

teşekkür sonra yüklemek mongo çalıştırmak için ben package.json dosyayı artar zaman var Çıkışlardan ve npm install mongodb --save olduğunu ...

+0

Merhaba John yüklemek tam olması mongodb sunucusu yüklemeniz gerekir Açık olmak gerekirse eğer Mongo sunucunuzun dolduğunu doğruladı. Yerel olarak veya bir servis sağlayıcıdan mongodb kullanıyor musunuz? –

+0

Merhaba 9, kendi yerel olarak 127.0.0.1:707017 –

+0

9'da çalışıyorum, npm start'ı çalıştırdım ve başlatılamıyor. Bu, mongdb sunucu doğrulamasının geçerliliğinin temelini oluşturuyor. –

cevap

1

Bileşenlerin geri dönüşü exit 0 döndüğünden bu hataya benzemiyor. bu iyi. Yüklediğiniz paket sadece resmi mongodb sürücü https://www.npmjs.com/package/mongodb - The official MongoDB driver for Node.js. Provides a high-level API on top of mongodb-core that is meant for end users.

olsa

Sen O bilgilerinden net değil https://docs.mongodb.org/manual/installation/

+0

Büyük şeyler Number 9 ... Sabitlendim .. ama mongodb ve kurulumu ile ilgili yükleri öğrendikten sonra. Ben bir demlemek hayranıyım ama bu kez ekstralar demlemek daha kötü yüklemelere neden oluyor gibi görünüyor. –

+0

Çok net bir yükleme blogu makalesi buldum ve onu izledim ve şimdi yerel makinemde çalışıyor (Mac OSX 10.11.4). Yine MVC uygulamasında da TDD testlerini çalıştırdım ve dün binlerce kez kontrol ettiğim mongodb test senaryosu da dahil olmak üzere tüm testlerden geçti! Manüel yükleme için blog/eğiticinin bağlantısı http://www.mkyong.com/mongodb/how-to-install-mongodb-on-mac-os-x/ ... Nano'yu daha kolay buluyorum Sonra vim, bash_profile'ımı güncellemek için nano'yu kullandım. El ile yükleme, bir çekicilik çalıştı. Tüm yardımlarınız ve girdileriniz için teşekkürler efendim ... siz erkekler arasında bir kralsınız! ... –