问题标签 [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 - 如何为 mongodb 设置默认提交选项?
我在 Symfony2 应用程序中使用 Doctrine MongoDB ODM。
如何设置默认提交选项(例如safe: 3
and fsync: true
)?
理想情况下,我可以在我的 YAML 配置文件中执行此操作,但文档似乎表明这是不可能的。
如果我可以获得 Configuration 对象,我应该可以在那里设置 defaultCommitOptions(如fsync
),但我不确定如何/何时/在哪里这样做。
php - Doctrine MongoDB ODM:必须在 findAndUpdate() 之后调用 flush() 吗?
从经验上看,似乎flush()
没有必要findAndUpdate()
,我只是在 Doctrine ODM/MongoDB 文档中的任何地方都找不到明确说明(而且我没有费心阅读太多源代码)。
findAndModify
mongodb.org 上的文档状态
此命令可用于原子地修改文档(最多一个)并返回它。
Doctrine MongoDBfindAndUpdate()
使用 MongoDB 的findAndModify
. 所以听起来整个事情确实是一口气发生的,所以不需要调用flush()
文档管理器。
php - 如何在 Doctrine 的 Mongodb ODM 中使用正则表达式?
我正在尝试使用正则表达式在 Symfony 2 上使用 Doctrine 的 Mongodb ODM 查询 Mongodb。
我知道PHP mongo 驱动程序可以做到。但是,我不知道如何用 Doctrine 做到这一点。
我使用相同的课程吗?如何从 Symfony 中引用 MongoRegex?
doctrine - ODM:未在两个文档上创建参考
假设我有两个像这样的简单文档,一个人可以有很多篇论文,但一篇论文只能属于一个人。
当您在一端创建参考时,我想我在某处读过,Doctrine ODM 会自动为您创建两侧的参考。因此,如果我执行下面的语句,我将看到来自 Paper 文档的对 Person 的引用,以及对 Person 文档中对 Paper(s) 的引用。
当我这样做并检查mongodb时,纸上的参考-->人就在那里。但我没有看到参考人--> 数据库中显示的论文。我认为级联注释对此有所帮助,但显然我遗漏了一些东西。
如何确保引用包含在两端,以便我可以运行查询以查看属于一个人的所有论文?这是否必须手动完成,或者我可以让教义为我处理这个?
更新
这一页的第一段让我觉得这是可能的。
doctrine - ODM:无法实现双向关系
我有两个文件。我正在尝试查找与特定人员相关的所有论文。Person
文档保存在它们的集合中,并且正在从to创建引用Paper
,但不是相反。
创建一个新的双向参考
在后面的代码中,这个查询返回 0 个结果;不应该是退回指定人写的论文吗?
mongodb - MongoDB ODM SELECT COUNT(*) 等效项
我想知道是否有相当于 MySQL-Query 的:
在 MongoDB ODM 中?
这可能有效:
但是,如果数据库中有更复杂的文档,那么不是所有的 ID 都会返回,这将如何影响性能。我不想为了获得计数而发送太多数据。
doctrine-odm - 当代理找不到引用的文档时如何抑制 MongoDDException
我们正在使用 Symfony2/DoctrineOdm/MongoDB,当我们这样做时:
if ($doc.referenceOne != null) { ... }
并且$doc.referenceOne
包含指向已删除/丢失文档的MongoDbRef,Doctrine Proxy 对象引发 MongoDBException。
可以告诉代理返回 null 而不是引发异常吗?
详细说明:
我们的文件:
如果 $photo 包含MongoDbRef,但文档丢失/删除,
当我们做if ($user.photo) { ... }
学说时会引发 MongoDBException:
我们希望抑制异常,因为我们的应用程序可以处理该变量中的空值。
(我们可以简单地记录该错误,而异常传播到 500 页并中断我们的服务)
symfony - 如何查询在教义 odm 中嵌入了特定项目的所有项目
我对某事有评论,并且可以喜欢它们。喜欢的内容保存在Comments
as 中EmbedMany(targetDocument=User)
。
我想查询Comments
特定用户喜欢的所有内容,我该怎么做?
我想到了类似的东西:
但这似乎不起作用。
mongodb - 使用 Doctrine MongoDB ODM 进行地理空间查询
我的文档的坐标属性上有一个二维索引。使用 mongo shell,我可以像这样查询集合;
并按预期返回以下结果;
但是,根据文档使用 Doctrine 查询完全相同的集合,我没有得到任何结果,例如
我的广告 yaml 看起来像这样;
而坐标文件是这样的;
任何想法为什么使用 Doctrine 的 ODM 会在同一查询中返回零结果?
更新 #1 看起来 Doctrine\MongoDB\Query\Builder::near() L363 存在问题。方法参数忽略第二个值 ($y)。所以只有第一个值被传递来执行。