2016-12-28 55 views
2

我試圖將mongoDB合併到我的應用程序,但是當我嘗試添加到集合我得到錯誤'不能讀取'插入'的屬性undefined時試圖啓動帶有nodeJS的服務器。無法讀取屬性的'插入'的下定義mongoDB NodeJS

我明白,這已被問過,但是當我試圖糾正錯誤,根據另一個問題在這裏寫下面的代碼問,但我得到var沒有定義;

var accountCollection = var mongodb = mongodb.collection('account'); accountCollection.insert({username:"wendy3", password:"lilac3"});

我的服務器相關的代碼如下,我在許多導遊已經看過網上和似乎沒有任何解決我的問題,所以任何幫助,將不勝感激。

//create server, listening on port 3000 
//when there is a request to port 3000 the server is notified 
//depending on the request a specific action will be carried out 
var mongodb = require("mongodb"); 
//create connection to MongoDB 
var db = mongodb('localhost:27017/Game', ['account', 'progress']); 
//insert into collection 
db.account.insert({username:"wendy3", password:"lilac3"}); 


var express = require('express'); 
var app = express(); 
var serv = require('http').Server(app); 

var colors = require('colors/safe'); 
+0

'VAR accountCollection = VAR的MongoDB = mongodb.collection( '賬戶');'不會工作,因爲你之前聲明的MongoDB在此語法指定。 'var mongodb; var accountCollection = mongodb = mongodb.collection('account')'會起作用 –

+0

謝謝 - 我會在管理它的時候嘗試這個服務器來連接數據庫! – Anniee

回答

2

連接到數據庫是一個異步操作,但你要訪問它,彷彿它是同步的。

如果你看一下examples爲您所使用的包裝,它表明你必須使用它被調用一次連接響應接收到一個回調函數:

var MongoClient = require('mongodb').MongoClient; 

// Connection URL 
var url = 'localhost:27017/Game'; 

// Use connect method to connect to the Server 
MongoClient.connect(url, function(err, db) { 
    if (err) return console.log('Error: ' + err); 
    console.log("Connected correctly to server"); 
}); 
0

謝謝你 - 我想我現在明白了(我是MongoDB的新手,請原諒我)

我現在有以下代碼;但是我收到錯誤invalid schema, expected mongodb.我可能把MongoClient代替mongodb某處嗎?所以我可以看到它正在嘗試連接,但是回調返回錯誤。

代碼:

var MongoClient = require('mongodb').MongoClient; 

//connection url 
var url = ('localhost:27017/Game', 'account', 'progress'); 

//use connect method to connect to server 
MongoClient.connect(url, function(err, db){ 
if (err) return console.log('Error: ' + err); 
console.log('mongodb is connected to the server'); 
}); 
相關問題