This is current schema i have:
var Schema = mongoose.Schema;
var ProviderSchema = new Schema({
name: String,
abbreviated: String,
services: Array,
locations: Array,
description: String,
url: String,
upvotes:{type:Number, default:0},
createdOn: { type: Date, default: Date.now},
posts:[{ type: mongoose.Schema.Types.ObjectId, ref: 'Post' }]
});
This is post schema:
var PostSchema = new mongoose.Schema({
title: String,
body: String,
upvotes: {type: Number, default:0},
author: String,
provider: { type: mongoose.Schema.Types.ObjectId, ref: 'Provider' },
comments:[{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }]
});
I populated post before:
router.get('/providers/:provider', function(req, res) {
req.provider.populate('posts', function(err, provider) {
res.json(provider);
});
});
And this is what i have in my API:
router.get('/providers/:provider/posts', function(req, res) {
Post.find(function(err, post){
if(err){ return next(err); }
res.json(post);
});
});
I would like to write a query in API which query all the posts for one provider. This router.get is not working and give back me wrong answer.Please if somebody can help me to change this query to correct one. I will be appreciated.