2013-03-11 4 views
-2

이것은 th 코드입니다. mongodb에 문서를 삽입하는 중입니다.mongodb with nodejs

 var client = new Db('test', new Server("127.0.0.1", 27017, {}), {w: 1}), 
     test = function (err, collection) { 
     collection.insert({a:2}, function(err, docs) { 

     collection.count(function(err, count) { 
      test.assertEquals(1, count); 
     }); 

     // Locate all the entries using find 
     collection.find().toArray(function(err, results) { 
      test.assertEquals(1, results.length); 
      test.assertTrue(results[0].a === 2); 

      // Let's close the db 
      client.close(); 
     }); 
     }); 
    }; 

client.open(function(err, p_client) { 
    client.collection('test_insert', test); 
}); 

하지만 오류

를 얻고 실행하는 동안

xports, 필요, 모듈, __filename, __dirname) {var에 클라이언트 = 새로운 DB ('테스트', ^ ReferenceError가 : DB는에 을 정의되지 않은 . 객체 (C : \ 사용자 기본 노드를 \ \ 안녕 \ mongonode.js : 1 : 81

at Module._compile (module.js:449:26) 
at Object.Module._extensions..js (module.js:467:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.runMain (module.js:492:10) 
at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

는이 문제를 해결하는 방법을 나에게 제안 할 수

미리 감사드립니다.

+2

문제는 매우 분명합니다. 'Db'변수가 정의되지 않았습니다. 적절한 대답을 원한다면 처음에 Db (그리고 아마도 서버) 객체를 선언 할 곳에서 코드를 게시해야합니다. –

+0

Db 정의는 어디에서합니까? 아마도 Db가있는 모듈을 가져 오지 않았을 수 있습니다. – user568109

+0

mongodb 모듈을 가져 오는 것을 잊었습니다. 그것이 잘 작동하는지 확인하십시오. 답변 감사합니다 – Ramesh

답변

4

사용중인 모든 필수 모듈을 가져 오십시오. Db is not definedDb이 다른 일부 모듈에 정의되어 있거나이를 선언하는 것을 잊어 버렸다고 지적합니다.

0

보십시오 당신은 다른 유래 질문의 숫자에 게시이 정확한 코드 블록을 알 수 있습니다

npm install mongodb 
3

MongoDB를 기본 드라이버를 설치합니다. 여기서 문제는 mongodb의 문서에서 복사하여 붙여 넣은 코드 블록인데, 실제로 mongodb nodejs 프로그램의 첫 번째 예제입니다. 당신이 아래로 "소개"찾을 수

https://npmjs.org/package/mongodb

"문서를 삽입하는 간단한 예를."

분명히 불완전한 예이지만 많은 사람들이 모든 것을 올바르게 설치했는지 즉시 시험해보고 즉시 벽에 부딪히는 지 확인하려고합니다.

대부분의 사람들은 MongoDB의 드라이버를 설치하지만,이 같은 상단에 뭔가를 누락됩니다 : 나는 또한 여기에 복사 - 붙여 넣기의 함정에 빠진

var mongodb = require('mongodb'); 
var Db = mongodb.Db; 
var Server = mongodb.Server; 

하고 "assertEquals과 다른 문제로 실행 "방법이 존재하지 않습니다. 나는 다른 사람들이 웹의 다른 장소에서 그 기능을 참조하는 것을 보았지만 그것이 어떻게 작동하는지에 대해서는 정말로 확신하지 못했다.

어떤 경우

, 나를 위해 작동하도록, 나는 어설 션 모듈이 필요 :

var assert = require('assert'); 

을 그리고 나는이 같은으로 assertEquals 라인을 교체 :

  assert.equal(1, count, "Unexpected result"); 

주 당신을 이 작업을 몇 번 실행하면 문제가 발생합니다. 그것은 그 테이블에있는 것들의 수를 세울 것이고, 하나 이상의 테이블에 존재할 것입니다.

mongo의 CLI에 들어가서 성공적으로 실행하려면 CLI를 제거하는 방법을 알아야합니다.