2014-10-23 6 views
5

Merhaba ben bu Şeması (denilen schema.js) vardır: benim Rota dosyasındaGelincik Doldur çalışmıyor

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

var RoomSchema = new Schema({ 
    name: { type: String, required: true, index: { unique: true } }, 
    people: { type: Number, required: true }, 
    childrens: {type: Number, required: true}, 
    total: {type: Number, required: true} 
}); 

var Room = mongoose.model('Room', RoomSchema); 

var AvSchema = new Schema({ 
    roomId: {type: Schema.Types.ObjectId, ref: 'Room'}, 
    people: { type: Number, required: true }, 
    childrens: {type: Number, required: true}, 
    total: {type: Number, required: true} 
}); 

var Av = mongoose.model('Av', AvSchema); 

module.exports = { 
    Room: Room, 
    Av: Av 
}; 

:

module.exports = function(app) { 
    var model = require('../models/Schema'); 

    app.get('/api/rooms', function(req, res) { 
    model.Room.find(function(err, rooms) { 
     if (err) 
     res.send(err); 

     res.json(rooms); 
    }); 
    }); 


    app.get('/api/av', function(req, res) { 
    model.Av.find().populate('roomId').exec(function(err, av) { 
     if (err) 
     res.send(err); 

     res.json(av); 
    }); 
    }); 
}; 

db bir pic: enter image description here

GET/api/oda - yanıt:

[{ 
    "_id": "5444d0dd9a31437167eea816", 
    "name": "Single", 
    "people": 1, 
    "childrens": 1, 
    "total": 4 
}, { 
    "_id": "5444d1009a31437167eea817", 
    "name": "Double", 
    "people": 2, 
    "childrens": 2, 
    "total": 10 
}] 

Api/odalarını aradığımda iyi görünüyor ama api/av'ı aradığımda boş bir dizim var [] .... Herhangi bir yanlış fikrim var mı? Her iki oda için de av koleksiyonuna kayıt eklediğimi belirtmeliyim:

Önceden teşekkür ederiz.

+1

thakns bu soru için –

cevap

5

Mongoose varsayılan olarak koleksiyonun adını bulmak için model adını çoğaltır, bu nedenle Mongoose av yerine avs koleksiyonuna bakar.

Açıkça geçirerek koleksiyon adını ayarlayabileceğini üçüncü parametre olarak model için:

var Av = mongoose.model('Av', AvSchema, 'av'); 
+0

teşekkürler, harika çalışıyorum – Teodor

+0

teşekkürler burada takılıyorum –

0

bu

firavunfaresi

çalışmıyor doldurmak sorgu için en popüler sonucu olduğundan

Bu zaten çözüme doğrudan bir cevap olmamasına rağmen, benim için çalışmadığı nedeni ekleyeceğim d soru, birilerine yardımcı olacak umuduyla

Sorun benim için select({..} alanlarını belirlemiş olmama rağmen doldurmaya çalıştığım alan değildi.