2013-11-15 29 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