如何根据项目名称查找平均评分

I am working on building simple recommendation engine using PHP and MongoDB. I am trying to find the average rating of each item but I did not figure it out yet. my collection is:

{
"_id" : 1,
"item" : "efg",
"rating" : 5.0,
"date" : ISODate("2014-01-01T08:00:00.000Z")
}

{
"_id" : 2,
"item" : "efg",
"rating" : 2.0,
"date" : ISODate("2014-01-01T08:00:00.000Z")
}

{
"_id" : 3,
"item" : "abc",
"rating" : 5.0,
"date" : ISODate("2014-01-01T08:00:00.000Z")
}

{
"_id" : 4,
"item" : "abc",
"rating" : 4.0,
"date" : ISODate("2014-01-01T08:00:00.000Z")
}

{
"_id" : 5,
"item" : "xyz",
"rating" : 3.0,
"date" : ISODate("2014-01-01T08:00:00.000Z")
}

This is the code I have tried recently:

$out = $sales->aggregate(
array(
    '$group' => array(
        '_id' => '$item',
        'avgrating' => array('$avg' => '$rating')
    )
)
);
var_dump($out);

Please try executing following code snippet

$out = $sales->aggregate(
array(
    '$group' => array(
        '_id' => array('item' => '$item'),
        'avgrating' => array('$avg' => '$rating')
    )
)
);
var_dump($out);

I got it working using this code:

$pipeline = array(
array(
    '$group' => array(
        '_id' => '$itemId',
       'avgrating' => array('$avg' => '$rating'),
    ),
)
);

$out = $sales1->aggregate($pipeline);
var_dump($out)