Doctrine CouchDB ODM:当您不知道文档的类型时,如何检索文档

时间:2012-02-28 12:58:29

标签: doctrine couchdb

所以我不知道我想要检索的文档的类型,因此不知道如何以学说方式检索这个文档。 通常我会这样想:

$dm->find('User', 12345);

我应该得到User类。 但是,如果我不知道文档的类型怎么办?它存储在文档中,因此Doctrine应该弄明白。我应该简单调用

$dm->find(12345); //of course this doesn't work

和Doctrine 应该查看文档中的“type”字段并返回User类。

当然我可以手工完成,但也许这个问题有一个Doctrine方法?

所以我的问题是:如何检索(使用doctrine)文档并实例化正确的类(取决于文档中的“type”字段)?

1 个答案:

答案 0 :(得分:1)

我认为通常你会想要为你想要查看的每种逻辑数据类型开发一个view,无论它在文档图中的哪个位置。

否则,您可以编写一个查看每个文档的视图,递归遍历每个属性,并找到值12345,但这当然可能非常慢。

视图可以查看您的type属性(duck typing)和emit()正确的对象。