2013-01-06 24 views
11

find ve findOne kullanmayı denedim ve her ikisi de bir belge vermiyor. boş bir dizi döndürüyor, findOne ise null döndürüyor. Her iki durumda da err, null'da. Beni şemaMongoose her zaman boş bir diziyi döndürüyor NodeJS

İşte
function connectToDB(){ 
    mongoose.connect("mongodb://localhost/test"); //i have also tried 127.0.0.1 
    db = mongoose.connection; 
    db.on("error", console.error.bind(console, "connection error:")); 
    db.once("open", function callback(){ 
     console.log("CONNECTED"); 
    }); 
};

geçerli:: İşte

benim bağlantıdır

var fileSchema = mongoose.Schema({ 
    hash: String, 
    type: String, 
    extension: String, 
    size: String, 
    uploaded: {type:Date, default:(Date.now)}, 
    expires: {type:Date, default:(Date.now()+oneDay)} 
}); 
var Model = mongoose.model("Model", fileSchema);

Ve sorgu buradadır:

Model.find({},function(err, file) { 
    console.log(err) 
    console.log(file); 
});

Ben veritabanına şeyler yükleyip görebilirsiniz RockMongo aracılığıyla onları ancak sonra onları alamıyorum. Bu benim ilk kez MongoDB kullanarak bu yüzden bazı temelleri kaçırdığımı düşünüyorum. Doğru yönde herhangi bir itme harika olurdu!

+0

Ne RockMongo aracılığıyla belgeleri görüyoruz koleksiyonun adı? – JohnnyHK

+0

Tüm bilgi bir koleksiyon 'dosyaları' içinde test altında – locrizak

cevap

34

mongoose.model numaralı çağrı, modelin bağlı olduğu koleksiyonun adını varsayılan olarak pluralized, düşük kasalı model adıdır. Yani kodunuzla, 'models' olacaktır. files koleksiyonu ile modeli kullanmak için bu satırı değiştirin:

var Model = mongoose.model("Model", fileSchema, "files"); 

veya

var Model = mongoose.model("file", fileSchema); 
+3

Güzel, Çok teşekkür ederim. Takip ettiğim eğiticilerin hiçbirinin bundan bahsetmemesine şaşırdım. – locrizak

+4

Günü kaydedildi. Çok teşekkürler! Bu resmi rehberde vurgulanmayan üzücü. – thameera

+0

@thameera burada aynı. .net toprağından bilinmeyen sulara geçiyorum ve bu konuda çok zaman harcadım. Cankurtaran. Evet, en azından arama girişimlerimde, kongre _anywhere_'den bahsedilmiyor gibi görünüyor. Teşekkür ederim!!! – scniro

İlgili konular