问题标签 [doctrine-odm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Doctrine ODM - 类似运算符语法
我将如何在学说 odm 中模拟 SQL 中的 like 运算符?
用例:我想在变量 $search 的字段标题字符串中找到一个主题。
查询会是什么样子?
感谢所有答案
php - Doctrine Mongodb ODM 和 DateTime 查询
我可以在这个问题上使用一些帮助。我正在使用 Symfony2 + mongodb + 教义创建一个应用程序。我只想使用 Doctrine ODM 查询最近 5 分钟内登录的所有用户。我有一个用户集合,其中包含一个名为 date_last_login 的日期字段。
所以我尝试像这样使用查询构建器:
当我使用 symfony2 探查器查看组装查询时,我得到了以下结果:
除了日期早 10 分钟而不是 5 分钟之外,这似乎很好?我只是不明白。如果我转储我的 php DateTime 对象,日期是正确的:2011-12-23 15:35:05(15:40 前五分钟)。
因此,我尝试在不减去任何分钟数的情况下组装相同的查询,这一次,一切都很好:
我究竟做错了什么 ?谢谢您的帮助!
php - Doctrine MongoDB ODM 在两个或多个字段中搜索
我想在 Doctrine Mongo ODM 中编写一个查询,通过正则表达式在两个或多个字段中进行搜索。在 SQL 中,它看起来像:
我可以为这样的一个字段编写查询:
但是当我尝试在更多领域进行搜索时,我不知所措。
谢谢你的帮助
php - Doctrine 2 MongoDb ODM 参考
我有一个与 php 中的 Doctrine 2 MongoDB ODM 相关的问题。
所以我有一个EntityA并且在EntityA 中我想通过EntityB的ObjectId引用EntityB。因此,在EntityA中,我有一个带有以下 Docblock的变量A: @ODM\ReferenceOne(targetDocument="EntityB", simple="true")。
问题是当我调用setMethod时,它将整个EntityB设置为EntityA而不仅仅是我想做的objectId 。
基本上 EntityA 看起来像这样:
有谁知道我想要的是否像我尝试过的那样可行?还是有人知道更好的方法?
基本上像这个例子:
现在我如何只存储产品的 id 而不是整个产品subCategory->product
?
mongodb - 学说 odm 设置由 js Math.random() 在 pre persist 上生成的随机值
我正在尝试在学说 odm中实现这种模式http://cookbook.mongodb.org/patterns/random-attribute/ 。
我想在 pre-persist 生命周期事件上设置这个属性。为了达到最佳效果,我想使用原生 javascript 函数 Math.random() 因为 php 无法生成随机浮点数,我想避免为此编写自定义函数。
有没有办法做到这一点?
我试过了:
但无论函数的代码如何,它总是将属性设置为 1
zend-framework - ZendFramework,带有 mongoDB 的 Doctrine 2 ODM - Hydrator 错误
我将 Zend Framework 与 Doctrine 2 和 mongoDB 结合使用。到现在为止还挺好。
现在我正在重写我的自定义验证类,以检查数据库中是否已经存在用户名。(此代码在 ORM 和 MySQL 上运行良好,但现在不适用于 ODM 和 mongoDB)。
所以我的自定义验证类如下所示:
但我在这里得到这个错误:
我也尝试了 findBy 并且没有数组注释(findByUsername 或 findOneByUsername),但是我仍然收到此错误或以某种方式“什么都没有”。使用 ORM 和 MySQL,它运行良好,那么问题出在哪里?
提前致谢!
php - Doctrine2 ODM - [语义错误]
我不断收到此错误:
PHP 致命错误:未捕获异常 'Doctrine\Common\Annotations\AnnotationException' 并带有消息 '[Semantical Error] The annotation "@Document" in class Documents\Translation was never imported.' 在/home/bmay/devel/svn/wwv/trunk/test_mongo_record/doctrine-mongodb-odm/lib/vendor/doctrine-mongodb-odm/lib/vendor/doctrine-common/lib/Doctrine/Common/Annotations/AnnotationException。 php:52
这里的代码很简单:
mongodb - 原则 odm 批量插入 - 并非所有文档都被保存
我有一个 67352 行的文件。一行是一个名字。我正在使用 foreach 批量插入这些名称。在这 67352 条中,只有 52262 条记录在使用 100 的批大小时被持久化到数据库中。如果批大小较大,则保留的文档较少,如果较小,则保留更多的文档,但我从未获得所有文档坚持。
odm 的版本是 1.0.0beta3,我也用 1.0.0rc1 尝试过,结果相同。
代码如下所示:
谁能告诉我怎么了?谢谢
mongodb - ReferenceMany 生成一个 $pushAll 字段,在尝试保存 MongoGridFs 文件时会引发错误
好吧,伙计们,要么我错过了一些大事,要么我只是踩到了一个虫子。
那是一个 Sf2 (v2.0.9) / Doctrine ODM (1.0.0BETA) 项目。
基本上,我有两个文件,我们称它们为 E 和 P:
E引用很多P:
/li>我不在乎能够从 P 中检索相应的 E。
我已经生成了 E 的 getter/setter doctrine:mongodb:generate:documents
。
当我声明一个新的 E() 时,然后添加一些现有的 P ($e->addP($p)),如下所示:
(请不要对那段代码看得太深,它在我的控制器中不那么糟糕,但我仍然基本上在做一个foreach($pArr as $p)
on $e->addP($p)
)。
我最终在我的集合 E 中得到了这种对象:
我发现有一个 $pushAll 字段很奇怪,但是,我可以用 $e->getP();
但是,当我尝试将文件附加到 E 时,它阻止了我:
因为当我尝试$e->setFile($filename)
持久化/刷新时,我最终会遇到这个错误:
显然是指那个奇怪$pushAll
的领域的错误。
如果我使用这种条目在 MongoDB 中手动修改我的文档:
...然后一切都很好,我可以保存我的文件而不会出现任何错误。
好的,听起来我错过了一些东西,或者我在这方面没有足够的 RTFM ReferenceMany
,但我仍然来这里看看是否有人已经参与其中。
干杯。
mongodb - Doctrine 2 MongoDB 获取对象的子记录
我正在使用学说/mongodb-odm-bundle,但我遇到了一个问题:我无法从文档中获取引用的行(或者我只是不知道如何执行此操作..)我有 2 个一对一的文档许多参考是这样的:首先
..................
第二
这是来自控制器的代码:
$wallpapers 和 $document->files 为 NULL。我如何检索与类别相关的记录?以及如何从混凝土墙纸对象中获取类别?有没有像标准ORM那样的“JOIN”模拟?