2015-07-24 7 views
5

yaratmaz:Gelincik Ben server.js aşağıdaki gelmiş yeni bir koleksiyon

var mongoose = require('mongoose'), 
    Schema = mongoose.Schema; 

ve iyi çalışır böyle bir modeli! :

var userSchema = new Schema({ 
    firstName: { type: String, trim: true, required: true }, 
    lastName: {type: String, trim: true, required: true}, 
    cellPhoneNumber : {type: Number, unique: true}, 
    email: { type: String, unique: true, lowercase: true, trim: true }, 
    password: String 
    }); 
ve çalışmayan aşağıdaki gibi başka bir model var!

var jobSchema = new Schema({ 
category: {type: Number, required: true}, 
title: {type: String, required: true}, 
tags: [String], 
longDesc: String, 
startedDate: Date, 
views: Number, 
report: Boolean, 
reportCounter: Number, 
status: String, 
poster: String, 
lastModifiedInDate: Date, 
verified: Boolean 
}); 

iki var aşağıdaki gibidir:

var User = mongoose.model('User', userSchema); 
var Job = mongoose.model('Job', jobSchema); 

- server.js buna bağlandıktan sonra mongod herhangi bir hata günlüğe kaydetmez. İkinci modelimde neyin yanlış olduğunu bilen var mı?

cevap

11

Mongoose, bu modelin ilk dokümanı kaydedilene kadar model için jobs koleksiyonunu oluşturmaz.

Job.create({category: 1, title: 'Minion"}, function(err, doc) { 
    // At this point the jobs collection is created. 
}); 
+1

Cevabımı aşağıda kontrol edin, bu cevap yalnızca modelde dizin bulunmuyorsa doğrudur. – matsondawson

12

Bunun nedeni, fongoose yalnızca başlangıçta indeksleri olan koleksiyonları otomatik olarak oluşturur. Kullanıcı koleksiyonunuzda benzersiz bir dizin var, İş koleksiyonu yok. Bugün aynı problemi yaşadım.

// example code to test 
var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/test'); 

mongoose.model('Test', { 
    author: { 
    type: String, 
    index: true 
    } 
}); 
+0

Onun olması gerektiğini düşünmüyorum. Mongoose, herhangi bir belge kaydedinceye/oluşturmaya kadar hiçbir zaman koleksiyon oluşturmaz. –

+4

Reddedildiğin için teşekkürler, ama yanılıyorsun. Kendin test et. Günümüzde mongoose ile tekrar test edilmiştir. 4.2.4. Koleksiyonda _if_ koleksiyonunun bir indeksi vardır. – matsondawson

+0

Evet, bu benim için çalışıyor, koleksiyonda bir dizin varsa –