Symfony 使用DoctrineODM从CouchDb检索文档
我用它来管理我的数据 我可以创建文档,但无法检索它们 我试过了Symfony 使用DoctrineODM从CouchDb检索文档,symfony,doctrine-orm,couchdb,doctrine-odm,Symfony,Doctrine Orm,Couchdb,Doctrine Odm,我用它来管理我的数据 我可以创建文档,但无法检索它们 我试过了 $dm = $this->container->get('doctrine_couchdb.odm.default_document_manager'); $users = $dm->getRepository('myGarageBundle:Utente')->find("781f1ea2e6281beb4ee9ff72b6054af2"); 这样检索一个文档,如下所示: object(m
$dm = $this->container->get('doctrine_couchdb.odm.default_document_manager');
$users = $dm->getRepository('myGarageBundle:Utente')->find("781f1ea2e6281beb4ee9ff72b6054af2");
这样检索一个文档,如下所示:
object(my\GarageBundle\CouchDocument\Utente)[303]
private 'id' => string '781f1ea2e6281beb4ee9ff72b6054af2' (length=32)
private 'name' => string 'foo' (length=7)
这没关系。
但如果我这样做了
$users = $dm->getRepository('myGarageBundle:Utente')->findBy(array('name' => 'foo'));
我有一个空数组
我的couchDb中的文档是
{"_id":"781f1ea2e6281beb4ee9ff72b6054af2","_rev":"1-f89fc2372709de90ab5d1f6cfe6a8f47","type":"my.GarageBundle.CouchDocument.Utente","name":"foo"}
检查这个
按简单条件查询仅适用于具有索引的文档
田地
您必须将其添加到您的实体中
/**
* @CouchDB\Index
* @CouchDB\Field(type="string")
*/
private $name;
持久性原则与一个称为
ObjectRepository,允许查询
物体。因为CouchDB使用视图进行查询(与
关系数据库中的物化视图)此功能无法
这是现成的。CouchDB理论可以提供一种观点
公开每个文档的每个字段,但此视图只会增长
变成无限大,大部分信息都是无用的
如果您想使用类似findAll()
的方法,您必须为所有文档编制索引:
<?php
/** @Document(indexed=true) */
class Person
{
/**
* @Index
* @Field(type="string")
*/
public $name;
}