0
我有一些引用很多項目的用戶文檔。學說MongoDB加載相關文件的性能
用戶:
class User
{
//...
/**
* @ODM\ReferenceMany(targetDocument="Item", mappedBy="user", cascade={"remove"})
*/
protected $items;
//...
項目:
class Item
{
/**
* @ODM\ReferenceOne(targetDocument="User", inversedBy="items")
*/
protected $user;
我想顯示與項目數的所有用戶的列表。所以,我有一個查詢:
$users = $dm->getRepository('Acme:User')->findAll();
而且我用的是count
方法對「項目」區域
{% for user in users %}
// ...
{{ document.items.count }} items
// ...
{% endfor %}
的問題是,學說爲每個用戶創建,這導致一個新的請求內存限制和超時。
有沒有辦法告訴教義加載所有的項目,當它執行findAll請求?我希望只在需要時才能完成此操作(不是在實體定義中,而是在查詢級別)。
這正是我想要實現的。你提供的鏈接是用於教條ORM的,可以用ORM(MongoDB而不是SQL)來完成嗎? – Julien 2014-09-21 09:42:15
給它一個鏡頭,並找出答案。 – 2014-09-21 17:06:03