2016-10-06 32 views
0

我想連接到mongoddb來使用貓鼬表示服務器,這是我第一次使用mongodb並表達任何幫助基本設置將不勝感激。我得到以下error如何用mongoose配置express來配置mongodb?

app.js

var express = require('express'); 
var path = require('path'); 
var app  = express(); 
var fs = require("fs"); 
var router = express.Router(); 
var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/8760'); 


app.use(express.static(path.join(__dirname, 'public'))); 


app.listen(8760, function(){ 
    console.log('I am listening 8760...'); 
}); 

model.js

var DiagramSchema = new mongoose.Schema({ 
    text: String, 
    owner: {type: String, ref:'User'}, 
    groups: [{type: String, ref: 'Group'}], 
    users: [{type: String, ref: 'User'}], 
    string: String 
}); 

錯誤

MongoError: failed to connect to server [localhost:27017] on first c 
    at null.<anonymous> (C:\Users\sh529u\WebstormProjects\develop-mod 
\node_modules\mongoose\node_modules\mongodb\node_modules\mongodb-cor 
+0

您可能是指'mongodb:// localhost:8760',而不是'mongodb:// localhost/8760'。 –

+1

您已連接錯誤... localhost:27017默認使用此字符串'mongodb:// localhost:8760'或'mongodb:// localhost:27017' –

+0

如果您使用的是默認端口,您實際上並不需要指定它。另外,在'/'之後指定的名稱是要連接的數據庫的名稱,因此在這種情況下,您說的是要連接到數據庫「8760」。如果您指定了不同於默認端口的端口,則需要像其他端口一樣進行連接 –

回答

0

這是你的要求:

App.js

var express = require('express'); var path = require('path'); var app = express(); var fs = require("fs"); var router = express.Router(); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/databaseName'); app.use(express.static(path.join(__dirname, 'public'))); app.listen(8760, function(){ console.log('I am listening 8760...'); });

model.js

var mongoose= require('mongoose'); var DiagramSchema = new mongoose.Schema({ text: String, owner: {type: String, ref:'User'}, groups: [{type: String, ref: 'Group'}], users: [{type: String, ref: 'User'}], string: String }); module.exports = mongoose.model('collectionName', DiagramSchema);

點要牢記:

  1. Mongo服務器mongod.exe應該在後臺運行或作爲服務運行
  2. 包含model.js文件哪裏想要執行數據庫事務。