问题标签 [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.

0 投票
1 回答
4350 浏览

php - Doctrine ODM - 类似运算符语法

我将如何在学说 odm 中模拟 SQL 中的 like 运算符?

用例:我想在变量 $search 的字段标题字符串中找到一个主题。

查询会是什么样子?

感谢所有答案

0 投票
2 回答
11318 浏览

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 前五分钟)。

因此,我尝试在不减去任何分钟数的情况下组装相同的查询,这一次,一切都很好:

我究竟做错了什么 ?谢谢您的帮助!

0 投票
2 回答
3656 浏览

php - Doctrine MongoDB ODM 在两个或多个字段中搜索

我想在 Doctrine Mongo ODM 中编写一个查询,通过正则表达式在两个或多个字段中进行搜索。在 SQL 中,它看起来像:

我可以为这样的一个字段编写查询:

但是当我尝试在更多领域进行搜索时,我不知所措。

谢谢你的帮助

0 投票
1 回答
1477 浏览

php - Doctrine 2 MongoDb ODM 参考

我有一个与 php 中的 Doctrine 2 MongoDB ODM 相关的问题。

所以我有一个EntityA并且在EntityA 中我想通过EntityBObjectId引用EntityB。因此,在EntityA中,我有一个带有以下 Docblock的变量A: @ODM\ReferenceOne(targetDocument="EntityB", simple="true")

问题是当我调用setMethod时,它将整个EntityB设置为EntityA而不仅仅是我想做的objectId 。

基本上 EntityA 看起来像这样:

有谁知道我想要的是否像我尝试过的那样可行?还是有人知道更好的方法?

基本上像这个例子:

现在我如何只存储产品的 id 而不是整个产品subCategory->product

0 投票
1 回答
399 浏览

mongodb - 学说 odm 设置由 js Math.random() 在 pre persist 上生成的随机值

我正在尝试在学说 odm中实现这种模式http://cookbook.mongodb.org/patterns/random-attribute/ 。

我想在 pre-persist 生命周期事件上设置这个属性。为了达到最佳效果,我想使用原生 javascript 函数 Math.random() 因为 php 无法生成随机浮点数,我想避免为此编写自定义函数。

有没有办法做到这一点?

我试过了:

但无论函数的代码如何,它总是将属性设置为 1

0 投票
1 回答
1378 浏览

zend-framework - ZendFramework,带有 mongoDB 的 Doctrine 2 ODM - Hydrator 错误

我将 Zend Framework 与 Doctrine 2 和 mongoDB 结合使用。到现在为止还挺好。

现在我正在重写我的自定义验证类,以检查数据库中是否已经存在用户名。(此代码在 ORM 和 MySQL 上运行良好,但现在不适用于 ODM 和 mongoDB)。

所以我的自定义验证类如下所示:

但我在这里得到这个错误:

我也尝试了 findBy 并且没有数组注释(findByUsername 或 findOneByUsername),但是我仍然收到此错误或以某种方式“什么都没有”。使用 ORM 和 MySQL,它运行良好,那么问题出在哪里?

提前致谢!

0 投票
1 回答
2404 浏览

php - Doctrine2 ODM - [语义错误]

我不断收到此错误:

PHP 致命错误:未捕获异常 'Doctrine\Common\Annotations\AnnotationException' 并带有消息 '[Semantical Error] The annotation "@Doc​​ument" 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

这里的代码很简单:

0 投票
1 回答
1460 浏览

mongodb - 原则 odm 批量插入 - 并非所有文档都被保存

我有一个 67352 行的文件。一行是一个名字。我正在使用 foreach 批量插入这些名称。在这 67352 条中,只有 52262 条记录在使用 100 的批大小时被持久化到数据库中。如果批大小较大,则保留的文档较少,如果较小,则保留更多的文档,但我从未获得所有文档坚持。

odm 的版本是 1.0.0beta3,我也用 1.0.0rc1 尝试过,结果相同。

代码如下所示:

谁能告诉我怎么了?谢谢

0 投票
1 回答
427 浏览

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,但我仍然来这里看看是否有人已经参与其中。

干杯。

0 投票
3 回答
2273 浏览

mongodb - Doctrine 2 MongoDB 获取对象的子记录

我正在使用学说/mongodb-odm-bundle,但我遇到了一个问题:我无法从文档中获取引用的行(或者我只是不知道如何执行此操作..)我有 2 个一对一的文档许多参考是这样的:首先

..................
第二

这是来自控制器的代码:

$wallpapers 和 $document->files 为 NULL。我如何检索与类别相关的记录?以及如何从混凝土墙纸对象中获取类别?有没有像标准ORM那样的“JOIN”模拟?