草庐IT

doctrine

全部标签

mongodb - Doctrine/MongoDB/Strategy - 使用 persist/flush 更新文档

我正在对mongo数据库文档运行单元测试...发现找到现有对象后我可以更新它的唯一方法是在注释中设置(strategy="set")。有谁知道为什么必须设置这个?更好的是,当使用该设置时,这到底会发生什么变化? 最佳答案 strategy="set"属性指的是文档属性上的@Collection注解:http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html#collectio

mongodb - Doctrine ODM/MongoDB : How to query for references within embedded documents?

我是DoctrineODM的新手,我完全被一个简单的查询所困:(让我从文档结构开始:Array([_id]=>4ee1e4527f749c9411000012[voteList]=>Array([_id]=>4ee1e4527f749c9411000013[votes]=>Array(...stripped...)[latest]=>Array([_id]=>4ee1e4527f749c9411000014[rating]=>1[voter]=>Array([$ref]=>Voter[$id]=>4ee1e4527f749c941100000f[$db]=>x_test)))...st

php - 当在 Doctrine MongoDB 中删除该对象时,我该如何删除对该对象的任何引用?

我的页面出现以下严重错误The"WildkatProxy\DocumentsTagProxy"documentwithidentifier"4e90eede17bc2ec68c000001"couldnotbefound.我假设这是因为文档标记代理已从另一个操作中删除,因此引用不再有效。我现在想删除对该对象的陈旧引用,但要默默地删除。(因为这也可能在很多其他情况下发生)当对象被删除时,我是否可以对所有引用已删除对象的对象进行“反向级联”?实现此目标的最佳做法是什么?谢谢安迪 最佳答案 我假设您有两个集合,ArticleTag和Art

mongodb - Symfony 2 StofDoctrineExtensionBundle 时间戳与 odm (MongoDB)

我尝试为我的对象使用StofDoctrineExtenstion的时间戳行为,但它不起作用。对象已成功保存,但createdAt属性未保存。这是我的配置:#DoctrineODMConfigurationdoctrine_mongodb:connections:default:server:mongodb://localhost:27017options:connect:truedefault_database:rentdocument_managers:default:auto_mapping:true#stofdoctrineextensionstof_doctrine_exten

php - 添加附加查询时,Doctrine MongoDB geoNear() 实例设置为 0

我正在使用geoNear()来计算我的Mongo数据库中对象之间的距离。即使使用->field('name')->equals($name)等附加字段过滤器,查询也能完美运行...这会自动填充对象上的映射字段@ODM\Distance。$this->getQueryBuilder()->geoNear((float)$query['near_longitude'],(float)$query['near_latitude'])->spherical(true)->distanceMultiplier(self::EARTH_RD_KM);如果我添加一个->field('id')->in

php - doctrine ODM 加载相关文档导致查询过多

我一直在尝试减少WebAPI上的数据库查询数量。我的数据库有3个集合:playground、widget、token一个Playground有很多小部件,一个小部件有一个token。每个关系都使用referencesOne/referenceMany。这是我的简化模型/***@MongoDB\Document()*/classWidget{/***@MongoDB\ReferenceOne(targetDocument="Token",inversedBy="widgets")*/protected$token;/***@MongoDB\ReferenceOne(targetDocum

mongodb - Native Mongo Query Doctrine ODM

在关系数据库的Doctrine中,我们有QueryBuilder,可以手动编写DQL查询,如果我们真的必须,可以使用Doctrine的连接来执行原始SQL。我没有在doctrine的mongo项目中找到(也没有在API和文档中)执行此操作的方法。如何使用mongoodm执行native查询?(除了注入(inject)doctrine_mongodb.odm.default_connection,还是那真的是唯一的方法?) 最佳答案 在您的文档存储库中,您可以像这样添加一个私有(private)方法:privatefunction_g

mongodb - Doctrine2 MongoDB ODM 复合键(UniqueEntity)

我在使用MongoDB在Zf2和Doctrine2中实现一些在Symfony2和Doctrine2中相当简单的东西时遇到了问题。我有一个发票文档,我想在其中确保Invoice::pattern和Invoice::number的组合是唯一的。一个数字可以出现多次,与图案相同,但图案和发票号的组合应该是唯一的。在Symfony2中我会使用桥useSymfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;@UniqueEntity({"pattern","number"})classInvoice{...但由于显而易见的原因,这在Z

mongodb - Doctrine MongoDB ODM nullable=false 不工作

我正在使用来自git存储库的DoctrineMongoDBODM和Symfony2的主分支以及mongo扩展1.2.10。我创建了许多类/文档,其注释类似于:namespaceAcme\StoreBundle\Document;useDoctrine\ODM\MongoDB\Mapping\AnnotationsasMongoDB;/***@MongoDB\Document*/classPerson{/***@MongoDB\Id*/protected$id;/***@MongoDB\String(nullable=false)*/protected$name;/***@MongoDB

mongodb - 使用 doctrine 和 mongodb 更新数组中的嵌入式子文档

我想更新(替换)所有文档数组中的一个子文档,这些文档具有这个特定的嵌入子文档。我的示例内容对象是:{"_id":ObjectId("51f289e5345f9d10090022ef"),"title":"Thisisacontent","descriptors":[{"_id":ObjectId("51f289e5345f9d10090022f4"),"name":"Thisisadescriptor","type":"Thisisaproperty"},{"_id":ObjectId("51f289e5345f9d10090022f0"),"name":"Thisisanotherd