I have a mongoDB database set up with a express server.
I try to access a object which is inside an array in a document.
I have this route :
app.get("/api/" + BLOGS_COLLECTION + "/:blogId" + "/post" + "/:postId", function (req, res) {
db.collection(BLOGS_COLLECTION).aggregate([
    { $match: { _id: req.params.postId } }, {
        $project: {
            posts: {
                $filter: {
                    input: "$posts",
                    as: "posts",
                    cond: { $eq: ["$$posts._id", req.params.postId] }
                }
            }
        }
    }].toArray((err, doc) => {
        console.log(doc)
        if (err) {
            handleError(res, err.message, "Failed to get post");
        } else {
            res.status(200).send(doc);
        }
    }));
});
But it returns an error :
[{(intermediate value)},{(intermediate value)}].toArray is not a function
If I do not use the toArray but a plain function, it can't construct to json to send it to the front.
I do not use Mongoose.
If the code above can't work, how can I query only the object I want inside the array ?
P.S: this is how my database is made :
_id:60336bcc961785586471938b
title:"<p>ttttttttttttttttttttttttttt</p>"
description:"<p>tttttttttttttttttttttttttt</p>"
authorId:"60336bb5961785586471938a"
createDate:2021-02-22T08:31:08.889+00:00
posts:
  0:
   _id:"53394732-d60b-c869-1fed-1fb82c03780f"
   title:"<p>iiiiiiiiiiiiiiiiiiiiiiiiiiiii</p>"
   content:"<p>iiiiiiiiiiiiiiiiiiii</p>"
   date:"2021-02-22T08:31:14.911Z"
 
     
    