2010-06-17 26 views
6

Sadece düğümle çalışmaya başlayın ve çalışmak için mongo sürücüsünü almaya çalışın. Bağlantımı kurdum ve garip bir şekilde no'lu şeyleri ekleyebilirim, ancak bir koleksiyonda bulmanın çılgınlık oluşturduğunu çağırabilirim.NodeJS ve 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)); 
      }); 
     }); 

    }); 
}); 

Eklentiyi beğenmediğimde ve bulmayı yorumlarsam, bir işlem yapar. ters maalesef tutmaz , bu hatayı alırsınız:

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

Aptalca bir şey yapıyorum eminim ama bana süresince ben ...

bulamıyorum
+0

Bence bu bir hata olduğunu gösterir. 'err' değerini kontrol edebilir misiniz? – Fopfong

+0

Ayrıca, yeni mongo.Db kullandığınızda kullandığınızı düşünüyorum ('şeyler' ... 'şeyler' DB adı bir koleksiyon değil. Bu sorun neden değil veya emin değilim – Fopfong

cevap

-2

satırınızı yıkamak için insert'inizden sonra collection.save() öğesini çağırmayı deneyin.

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

bakmak "Şu Gelincik sadece sunucuya veri manuel kızarmaya destekliyor."

+5

'Mongoose! = node-mongodb-native' – s4y

9

Sadece şu an aynı şeyi aldım. Ben db.collection nedense tekrar tekrar aradı ve edildiğini fark, bu yüzden böyle bir şey (kodunuzu uzakta hack) yaptı: Sana 9 ay önce bu sorulan fark

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)); 
      }); 
     }); 
    } 

. Umarım bu mezar kazası hala birine yardım eder. İyi şanslar!

+0

Bana yardımcı oldu, teşekkürler! –

+0

+1 bana yardımcı oldular Çok zor. –