2014-10-23 6 views
5

हैलो मैं इस स्कीमा (बुलाया schema.js) है:नेवला आबाद काम नहीं कर रहा

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 के एक पिक: enter image description here

प्राप्त करें/एपीआई/कमरे - प्रतिक्रिया:

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

जब मैं एपीआई/कमरे को कॉल करता हूं तो ठीक दिखता है लेकिन जब मैं एपीआई/एवी को कॉल करता हूं तो मुझे खाली सरणी मिलती है [] .... कोई विचार क्या मैं गलत करता हूं? मुझे जिक्र करना चाहिए कि मैंने दोनों कमरे के लिए एवी संग्रह में रिकॉर्ड डाले हैं

अग्रिम धन्यवाद।

+1

इस प्रश्न के लिए thakns –

उत्तर

5

डिफ़ॉल्ट रूप से, मोंगोस संग्रह के नाम के साथ मॉडल नाम को बहुलता है, इसलिए मोंगोस av के बजाय avs संग्रह में देख रहा है।

आप स्पष्ट रूप से पारित करके संग्रह नाम सेट कर सकते हैं कि तीसरे पैरामीटर के रूप में model रहे हैं:

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

धन्यवाद, महान काम कर रहे – Teodor

+0

धन्यवाद मैं यहाँ फंस गया था –

0

चूंकि यह क्वेरी

नेवला काम नहीं कर रहा पॉप्युलेट

के लिए सबसे लोकप्रिय परिणाम है

मैं उस कारण को शामिल करूँगा जो यह मेरे लिए काम नहीं कर रहा था, भले ही यह पहले से हल करने का प्रत्यक्ष उत्तर न हो डी सवाल, उम्मीद में यह किसी की मदद करेगा

मेरे लिए समस्या यह थी कि मैंने select({..} में फ़ील्ड निर्दिष्ट किए थे, लेकिन वह क्षेत्र नहीं जिसे मैं पॉप्युलेट करने की कोशिश कर रहा था।

संबंधित मुद्दे