2010-06-17 3 views
6

그냥 노드를 시작하고 몽고 드라이버를 얻으려고 시도합니다. . 내 연결이 설정되어 있고, 이상하게도 나는 컬렉션에 찾기를 호출하면 광란을 일으키는 것을 잘 삽입 할 수 있습니다.NodeJS and node-mongodb-native

var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {}); 

db.open(function(err, db) { 
    db.collection('things', function(err, collection) { 
//   collection.insert(row); 
     collection.find({}, null, function(err, cursor) { 
      cursor.each(function(err, doc) { 
       sys.puts(sys.inspect(doc,true)); 
      }); 
     }); 

    }); 
}); 

삽입의 주석을 제거하고 주석을 제거하면 치료가 효과적입니다. 역 불행히도 보유하지 않는 , 나는이 오류가 나타납니다 :

 collection.find({}, null, function(err, cursor) { 
      ^
TypeError: Cannot call method 'find' of null 

내가 어리석은 일을하고 있어요 확신하지만 내 인생 내가 이 ...

를 찾을 수 없습니다
+0

나는 이것이 오류가 발생했다는 것을 의미한다고 생각합니다. '오류'값을 확인할 수 있습니까? – Fopfong

+0

또한 사용할 때 사용하는 것으로 생각합니다 new mongo.Db ('things'... '물건'은 DB 이름이 아닙니다. 이 문제가 발생했는지 확실하지 않습니다. – Fopfong

답변

-2

행을 플러시하려면 삽입 후에 collection.save()를 호출 해보십시오.

http://www.learnboost.com/mongoose/

에서보세요 "현재 몽구스는 서버에 데이터를 수동으로 세척을 지원합니다."

+5

'몽구스! = node-mongodb-native' – s4y

9

나는 지금 똑같은 것을 얻었다. 나는 db.collection 어떤 이유로 또 다시 불러되고 있다는 것을 깨달았다, 그래서 나는 이런 식으로 뭔가 (코드에 떨어져 해킹)했다 : 나는 당신 9 개월 전이 질문 실현

var db = new mongo.Db('things', new mongo.Server('192.168.2.6',mongo.Connection.DEFAULT_PORT, {}), {}); 

    var Things;  

    db.open(function(err, db) { 
     db.collection('things', function(err, collection) { 
      Things = Things || collection;  
    }); 

    var findThings = function() { 
     Things.find({}, null, function(err, cursor) { 
      cursor.each(function(err, doc) { 
       sys.puts(sys.inspect(doc,true)); 
      }); 
     }); 
    } 

합니다. 희망이 무덤 diggin 여전히 도움이 누군가. 행운을 빕니다!

+0

덕분에 도와 줬습니다. –

+0

+1 도움이되었습니다. 매우 까다 롭습니다. –