2013-11-15 56 views
0

您好我連接我的mongodb與Windows命令提示符。但我無法用快速應用程序。我閱讀了太多關於node,express和mongodb的博客文章,但找不到問題。所以我需要提醒。我的快車應用程序無法連接到mongodb

我的數據庫文件夾:C:/數據/ DB 我的MongoDB的文件夾:C:/ mongodb的

在命令提示符下我鍵入:CD倉 的mongod 然後I型:蒙戈和它說: enter image description here

我可以做任何我想要的命令提示符。

但是,當我嘗試從我的節點快遞應用程序連接mongodb我總是失敗。 我的代碼如下所示:

var mongo = require('mongodb'); 
var monk = require('monk'); 
var db = monk('localhost:51241/ecmarketing'); 
var ObjectID = require('mongodb').ObjectID; 
var collection = db.usercollection.findOne(); 
res.render('index', { title: 'index' }); 
}; 

我總是得到:

enter image description here

的package.json:

{ 
"name": "application-name", 
"version": "0.0.1", 
"private": true, 
"scripts": { 
"start": "node app.js" 
}, 
"dependencies": { 
"express": "3.4.4", 
"ejs": "~0.8.4", 
"ejs-locals": "~1.0.2", 
"mongodb": "~1.3.19", 
"monk": "~0.7.1" 
} 
} 

我安裝包安裝的NPM。另外我在db文件夾中創建了ecmarketing文件。就這樣。

回答

1

幾點意見:

  • 你確定你的MongoDB是在端口51241運行?正常的端口是27017;
  • monk,你需要明確地獲取到集合的引用:

    var collection = db.get('usercollection'); 
    
  • 你不必創建一個文件夾數據庫自己,MongoDB的會爲你做的;

+0

我使用默認端口。我將我的查詢更改爲 var collection = db.get('usercollection'); 但是,當我寫console.log(集合);控制檯給我奇怪的事情。我只想要單個或多個用戶數據。 – fuat

+0

@fuat你隨後需要使用'find'或'findOne'來查詢集合 – robertklep

+0

當我使用findOne控制檯給我奇怪的數據如: {col: {manager:{driver:[Object,collections:[Object,選項:[對象]}, 驅動程序: {發射器:本發明的課題, 狀態:1, _dbconn:本發明的課題, 分貝:空, _collections:本發明的課題, 的ObjectID:本發明的課題, ... ... name:'user', col:vs vs vs – fuat