Skip to content

Add transform option for populate() #3775

Closed
@ghost

Description

My code:

var blogSchema = new Schema({
    name: String,
    blog_slug: String,
    category: { type: Schema.Types.ObjectId, ref: 'category' },
    content: String
});

var categorySchema = new Schema({
    name: String,
    category_slug: String
});

var blog = mongoose.model('blog', blogSchema);
var category = mongoose.model('category', categorySchema);

blog.find().populate({
        path: 'category', 
        select: 'name category_slug', 
        match: { category_slug: req.params.category_slug },
    }).exec(function(error, data){
        console.log(data);
    });
[{
    name: "some thing",
    blog_slug: "some-thing",
    category: {
        name: "Funny",
        category_slug: "funny"
    },
    content: "Blog content"
},
{
    name: "some thing 2",
    blog_slug: "some-thing-2",
    category: null, <-- **Here**
    content: "Blog content 2"
}
]

result[1].category : null . Why?
And how to find blog by category_slug?
I'm a beginner

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions