Php MongoDB ODM的原则并不持久

Php MongoDB ODM的原则并不持久,php,mongodb,doctrine-orm,doctrine,doctrine-odm,Php,Mongodb,Doctrine Orm,Doctrine,Doctrine Odm,我正在尝试开始使用MongoDB,MongoDB ODM 1.1.3和Laravel 5.4。在我手动删除名为“条令”的数据库(我猜是默认的数据库名称)以清理其中的垃圾之前,一切都进行得很顺利,所以基本上我只想删除数据库,并希望条令会创建一个新的数据库。现在当我打电话的时候 $mgr->persist($divRoot); $mgr->flush(); 它为$divRoot对象分配了一个ID,但不会持久化它。也就是说,当我在回购协议上调用findAll()方法时,它什么也不返回。它

我正在尝试开始使用MongoDB,MongoDB ODM 1.1.3和Laravel 5.4。在我手动删除名为“条令”的数据库(我猜是默认的数据库名称)以清理其中的垃圾之前,一切都进行得很顺利,所以基本上我只想删除数据库,并希望条令会创建一个新的数据库。现在当我打电话的时候

$mgr->persist($divRoot);
$mgr->flush();
它为$divRoot对象分配了一个ID,但不会持久化它。也就是说,当我在回购协议上调用
findAll()
方法时,它什么也不返回。它不再创建任何数据库。每次我试图保存$divRoot时,它的字段都在变化。我真的卡住了,请帮帮我

更新1


如果我初始化一个新的DocumentManager,指定文档的新路径(
AnnotationDriver::create($documents)
),ODM将正常地保存和检索文档

我已经找出了问题所在。我只处理嵌入文档,而它必须至少是一个根文档。最初,它们都被标记为文档,这就是为什么我能够持久化它们,这与数据库删除无关

所以,我试图持久化一个只包含嵌入文档的组合

解决方案是为标记为Document的组合创建根包装器