问题标签 [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.
mongodb - 哪个 DoctrineBundle 版本适用于 Symfony 2.0.15?
我花了几天时间试图在 Symfony 2.0.15 中整理我的部门。我找不到兼容的捆绑包列表,我一直在 github 上追逐提交,试图遵循一系列非 BC 更改以获得适合我的版本列表。最终我选择放弃并升级到 composer,结果发现一些 Doctrine 核心需要 Symfony 2.1,而其他一些 Doctrine 捆绑包需要 Symfony <2.1,最终我也放弃了。
安装了以下捆绑包的人可以让我知道他们从他们的 deps.lock 使用什么稳定版本吗?
使用这些组合,由于类不存在或重命名的方法,我得到一组恒定的错误,然后我在 github 存储库中查找并尝试修复解决此错误的提交/标记,只是得到另一组错误,因为其他类不存在或重命名的方法。由于 Doctrine 组织的命名空间更改,我无法回到几周前的稳定状态 - (@see Doctrine 的 Symfony Bundle repos 发生了什么?)
或者,我不介意改用作曲家;这是我尝试过的composer.json,但不起作用
每当我尝试修复 composer.json 中的依赖项时,我似乎都会一次又一次地升级和降级相同的软件包,但总是收到错误“您的要求无法解决为一组可安装的软件包。”。如果有人可以使用 Symfony 2.0.15 和 Doctrine、MongoDB、DoctrineFixtures 和 DoctrineMigrations 捆绑包向我提供他们的 composer.json 设置,我将不胜感激。
mongodb - 如何使用 JMSSerializerBundle 反序列化 Doctrine 对象?
我正在使用 Doctrine-ODM,并且正在尝试(反)序列化 Symfony 中的文档对象。
序列化似乎有效,但是当我尝试反序列化时,出现以下错误:
您必须为 My\Bundle\Repository\Item::$id 定义一个类型。
我尝试用这个调用反序列化:
我的文档有一些嵌入式文档,但它们在序列化字符串中似乎没问题。它缺少有关文档类型的信息。这是输出的简化示例:
现在我已经阅读了使用说明,并假设我的解决方案在第三方食谱的元数据中进行了解释,但我不知道该怎么做。
如何解决这个问题并将我的字符串正确反序列化为对象?
php - Doctrine ODM / MongoDB 不重试查询?
我正在使用 Doctrine ODM 连接到 MongoDB。我有一个三节点副本集:两个完整副本和一个仲裁者。复制只是为了更高的可用性,我不寻求跨节点分布读取。我的应用程序MongoCursorException
经常使用消息记录 s not master and slaveok=false
。我没有看到任何证据表明 mongodb 日志中发生了故障转移事件并且主节点没有更改。更正:故障转移确实发生了,但常见的例外not master and slaveok=false
经常出现,甚至在成功选举后6小时后出现6小时。
该怎么办?我看到我们的学说 mongodb版本包括(实验性?)重试功能,但我没有看到启用它的简单方法。
不确定它是否重要,但这是一个 Symfony2 (v2.0) 应用程序。
https://groups.google.com/d/topic/mongodb-user/6p710Rdycpg/discussion暗示我们需要重试(强调我的):
您的应用程序必须编写为重新连接/重试,因为可能会出现任何数量的瞬态(网络)错误,这与正常操作期间的滚动升级过程非常相似。
Mongo PHP 扩展文档似乎解释了这一点:
如果第一次尝试由于某些原因失败,驱动程序将自动重试“普通”查询(而不是命令)。这是为了在副本集故障转移期间导致更少的异常(尽管您可能仍然需要处理一些)并掩盖暂时的网络问题。
而且我认为doctrine-mongodb
只是使用 PHP 扩展来实际与 mongod 交谈。所以我有点困惑是否应该担心重试配置。
我想我解决了部分问题:按照Kristina Chodorow 的建议,我从连接字符串中删除了仲裁器。我不再看到带有 message 的任何 s 。我可能一直在点击https://jira.mongodb.org/browse/PHP-392。MongoCursorException
not master and slaveok=false
但是,在故障转移期间,我仍然收到一些MongoCursorException
消息couldn't determine master
。例如,我刚刚进行了故障转移;根据 mongod 日志,几秒钟后选出了一个新的主节点,但 Web 应用程序甚至在 5 分钟后抛出了该异常。
doctrine - ZF1 + Doctrine 2 ODM:调用未定义的方法 AnnotationReader::setDefaultAnnotationNamespace
我正在尝试设置一个 zf1 + 学说 mongo odm 1.0.0BETA4-DEV 项目。我正在使用https://github.com/Bittarman/zf-d2-odm分支,但是当我将教义版本从 1.0.0BETA3 更新到 1.0.0BETA4-DEV 时,出现以下错误:
symfony - 有没有更聪明的方法来获取参考文档 ID,而无需查询它并对其进行补水?
我有一份文件,其中包含对其他一些文件的引用。像大多数人一样,我在 URL 的“id”字段中使用 MongoId 来查看这些文档。情况是我想从主文档中显示这些参考文档的链接。为了获取引用文档的 ID,我使用如下代码:
这里明显的烦恼是,学说将运行另一个查询来获取引用的文档,这样我就可以获得 ID。但是从技术上讲,该 ID 已经存在于参考字段的主文档中。难道不应该有一种更有效的方法来仅获取 ID 而无需查询和补充整个参考文档吗?每次我想这样做时都必须编写自定义查询吗?
当您生成包含指向其引用文档的链接的主要文档的大型列表时,该问题变得很重要。
mongodb - Doctrine2 ODM QueryBuilder - 使用两个字段的总和更新字段
基本上尝试做同样的事情:
在 Doctrine2 的 ODM QueryBuilder 中 - 如果没有 MapReduce,这样的事情可能吗?我有一个分片集合,所以我需要使用 QueryBuilder 来按我的复合分片键进行搜索。
简化示例:
不幸的是,这将设置column3
为字符串“column1 + column2”。有任何想法吗?
mongodb - 如何在 Doctrine MongoDB ODM 中删除多个文档
如何删除学说 mongodb odm 中的多个文档?在 PHP 类中,我应该能够使用以下代码来做到这一点:
我怎样才能在学说mongo odm中做到这一点?
mongodb - Doctrine2 ODM - 对象(或嵌入式文档)作为_id
我有一个运行增量地图的进程,减少到一个集合,我在其中查看不同时间段的指标 - 按 id(s) 和日期分组。所以我的输出集合基本上有一个复合 id 来处理分组。
我希望能够使用 ODM 在我的 Symfony2 应用程序中从该集合中获取结果 - 但在该_id
字段中遇到问题。我以为我可以将其指定为@Id
and @embedOne
:
但是,这不起作用。我还尝试使用 进行设置@Id
,strategy=NONE
并且可以使用 QueryBuilder 来获取行,但是在尝试对 Document 类进行水合时会出错。我尝试使用站点 ID 和日期 ( 67-134137916
),它允许我使用 DocumentManager,但我失去了按日期范围查询的能力。
任何人都对如何在 Doctrine2 的 ODM 中将对象作为 id 处理有任何意见,这是否支持?
编辑: 删除复合主键标签 - 问题确实与使用对象作为主键有关。
rest - Doctrine Mongo ODM 合并外部修改数据
我正在编写一个 Symfony2 应用程序,它允许移动用户通过 REST 服务创建和更新“家庭”。我使用 MongoDB 作为存储层,使用 Doctrine MongoDB ODM 进行文档处理。
和方法工作正常GET /homes/{key}
。POST /homes
当我尝试使用PUT /homes/{key}
.
这是当前代码:
JMSSerializer 将传递给操作的 JSON 字符串成功反序列化为我的 Document 对象图,但是当我尝试合并和刷新时,出现错误:
我一直在尝试遵循此处的文档:http: //docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/working-with-objects.html#merging-documents
在尝试合并之前,我需要对反序列化的 Home 做些什么吗?合并是错误的方法吗?
谢谢。
php - PHP Mongo: 注意: Mongo::__construct(): 解析服务器
我想知道为什么我会收到以下 php 通知:
第 38 行:
该通知有时会出现,而不是一直出现。我正在使用学说 mongo ODM。