Say if I have a result like this:
    {
        "_id" : ObjectId("5b722d06c23b5f2bd0329a41"),
        "name" : "test",
        "item" : {
            "_id" : ObjectId("5b722d07c23b5f2bd0329a53"),
            "display_name" : "",
            "image" : "http://via.placeholder.com/700x500/ffffff/000000/?text=No%20Image&",
            "is_private" : true,
            "details" : [
                {
                    "is_private" : false,
                    "type" : "text",
                    "_id" : ObjectId("5b722d06c23b5f2bd0329a44"),
                    "title" : "Name",
                    "content" : "",
                    "order" : 0
                },
                {
                    "is_private" : false,
                    "type" : "text",
                    "_id" : ObjectId("5b722d06c23b5f2bd0329a43"),
                    "title" : "Price",
                    "content" : "",
                    "order" : 1
                },
                {
                    "is_private" : false,
                    "type" : "text",
                    "_id" : ObjectId("5b722d06c23b5f2bd0329a42"),
                    "title" : "Company",
                    "content" : "",
                    "order" : 2
                }
            ],
            "tags" : [ ],
            "__v" : 0
        }
    }
and I want to filter by item.details.is_private, how should I do this? I want to return all properties of item but filter out any item.details.is_private if it is true
I am currently projecting it as:
{
    "$project": {
        name: 1,
        item: 1
    }
}
but am not sure how to implement $filter in this setting
 
    