Как отсортировать массив в коллекции
Я искал сортировку определенного внутреннего массива в коллекции, я использую doctrine-mongodb-bundle в symfony2. Моя коллекция :
"page":
{
"_id": "56rgt46rt54h68rt4h6"
"categories":
[{
"_id": "2g56rt1h65rt165165erg4"
"products":[
{"name":"A", "pos": 2},
{"name":"B", "pos": 7},
{"name":"C", "pos": 1},
{"name":"D", "pos": 5}
]
}]
}
Я бы хотел иметь :
"page":
{
"_id": "56rgt46rt54h68rt4h6"
"categories":
[{
"_id": "2g56rt1h65rt165165erg4"
"products":[
{"name":"C", "pos": 1},
{"name":"A", "pos": 2},
{"name":"D", "pos": 5},
{"name":"B", "pos": 7}
]
}]
}
И мои лица:
/**
* @MongoDB\EmbeddedDocument
*/
class Category
{
/**
* @MongoDB\Id(strategy="auto")
*/
protected $id;
/**
* @MongoDB\String
*/
protected $name;
/** @MongoDB\EmbedMany(targetDocument="\Document\Product") */
private $products = array();
}
/**
* @MongoDB\EmbeddedDocument
*/
class Product
{
/**
* @MongoDB\Int
*/
protected $pos;
/**
* @MongoDB\String
*/
protected $name;
}
Я новичок в DoctrineMongoDBBundle, возможно, это не очень хорошая идея для накопления внутреннего массива (EmbedMany), и было бы лучше иметь несколько коллекций. И так сохраните ссылку.