问题标签 [doctrine-mongodb]

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 回答
5727 浏览

php - ClassNotFoundException:试图从...加载类“Mongo”(使用持久化)symfony2

我在使用http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html上的学说 mongodb 食谱将 mongodb 与 Symfony(版本 2.5.0-DEV)集成时遇到了一些问题。

在“持久化对象到 MongoDB”阶段之前一切正常。当我添加“ $dm->persist($script);”行时,我的远程数据库没有任何反应,我收到错误消息:

ClassNotFoundException:尝试从 /var/www/Symfony/vendor/doctrine/mongodb/lib/Doctrine/MongoDB/Connection.php 第 283 行中的全局命名空间加载类“Mongo”。您忘记了该类的使用语句吗?

但如果没有persist 行,脚本解析不会出错(但远程数据库没有任何反应)。

这是我的 Symfony 版本(2.5.0)特有的吗?有解决方法吗?我在下面粘贴了我的整个脚本,包括使用语句。任何帮助,将不胜感激 :)。

0 投票
1 回答
1549 浏览

mongodb - Mongodb 子文档日期范围返回错误的结果

第一次在 Stackoverflow。我正在尝试对数组集合运行日期范围查询,但 Mongo Shell 返回不相关的文档女巫不符合我的标准。我通过 PHP 驱动程序、Doctrine Mongodb Query-builder 或 Mongo Shell 进行查询并不重要。

这是我的查询:

结果如下:

我正在尝试查询“total_sold.created_at”字段设置为“2014-03-05”的文档,但返回结果不包括在“2014-03-05”创建的任何子集合,这是什么意思?我失踪了?我尝试过 $and 运算符、“$total_sold.created_at”等表示法,但没有结果。

Ps:total_sold.created_at 字段被索引。

编辑:我已经通过 Doctrine-Mongodb 创建并保存了我的文档。这是我的 Doctrine-Mongodb 映射。对于主文档和 total_sold 子文档。

这是我的子文档。

0 投票
1 回答
2441 浏览

php - Doctrine MongoDB ODM 搜索查询

我想用 mongodb 创建一个全文搜索。如何创建以下查询。使用查询生成器 API?

那可能吗?或者如何执行本机查询。

感谢帮助。

0 投票
1 回答
684 浏览

mongodb - 学说:mongodb:fixtures:load 删除创建的索引

我正在将 Symfony 2 与 Doctrine Mongodb ODM 一起使用,并尝试创建一些与我已经创建并尝试加载的固定装置一起工作的索引

当我在我的文档上创建索引时,加载固定装置失败

ODM 不会自己生成索引吗?

0 投票
1 回答
1468 浏览

php - 在教义-mongodb 中的 preUpdate 事件时创建/保留新文档

我正在使用doctrine-mongodb-odm-1.0.0-BETA10并尝试提供一些基于事件运行\InitialDocument时的自定义逻辑。preUpdate

假设\InitialDocument获得了一些状态,该状态必须作为 new 的初始状态\StateDocument。我正在做这样的事情:

prePersist事件\StateDocument发生了,但它不会在数据库中保留新文档。并且postPersist相应的事件将永远不会被触发。

还有一些更多的自定义逻辑,但都在事件范围内。在某些时候,逻辑可能会抛出一个必须停止更新事件的异常,InitialDocument因此InitialDocument状态取决于\StateDocument业务范围内的创建过程。

我怎么解决这个问题?preFlush在 changeSet 重新计算之前运行的事件不确定InitialDocument实例。因此,“搜索”更新是一种技巧,preFlush让我认为这不是正确的方法。请给我适当的建议。谢谢。

0 投票
0 回答
1384 浏览

mongodb - 如何在 Sonata Admin 中自定义 configureDatagridFilters 以使用不相关的 mongodb 文档

在我的 Mongodb 中,我得到了一份乘客文件,这是一个典型的项目:

我还有一个引用乘客文档的设备文档,这是一个示例:

所以换句话说..我无法通过对乘客运行查询来找出属于乘客的设备..它必须是对设备的查询。

在我的PassengerAdmin.php中,我得到了这个配置列表字段定义:

效果很好(我不知道奏鸣曲是如何映射device.os到乘客的……但是哦,好吧)。

在我的 configureDataGridFilters 中,这将返回一个错误:

错误:

注意:未定义索引:../vendor/sonata-project/doctrine-mongodb-admin-bundle/Sonata/DoctrineMongoDBAdminBundle/Builder/DatagridBuilder.php 第 60 行中的 device.os

我想这是有道理的..即使我创建了该索引,也不会返回任何内容..(顺便说一下,我从这里得到了这个想法:请参阅显示子实体属性

问题:

如何自定义有关设备操作系统版本的过滤器,以便它包含与设备文档相关的信息。lemme 使用此示例显示我想完成的工作(代码和伪代码的混合):

我注意到createQuery超类的方法Admin可以被覆盖..但似乎这是全局的,在这种特定情况下它对我没有帮助。

0 投票
0 回答
78 浏览

mongodb - 我如何在没有他引用的文件的情况下只获取一个文件

我有两个文件:ClientPV。许多PV在一个Client中引用。它是单向的。

客户

光伏

要获取我使用的客户文档:

我得到:

但我想要:

那么我如何才能为每个引用的 PV 而不是整个引用的 PV 只获取带有 MongoIds 的父文档?(在 MongoDB 中,db.Client.find({name: 'Test'})我得到的是 MongoIds 而不是文档)。它与 Doctrine MongoDB hydrator 有关吗?

0 投票
1 回答
729 浏览

php - 在 Symfony 2 中为 mongodb 生成映射和文档?

我正在使用 DoctrineMongoDBBundle,我想知道是否可以从现有的 mongodb 数据库生成映射信息和文档。

就像下面的一组命令对 ORM 所做的那样:

0 投票
1 回答
102 浏览

doctrine-mongodb - How do I obtain all documents referenced by a single document?

If I have a document Shop that has many Activities defined as ReferenceMany, is there a way I can directly query for the list of Activities for a Shop without hydrating a Shop instance?

For example:

All I want is to be able to say "get me the array activities where _id is fd390j09afj09dfj, and hydrate them as Activity instances.


Here's the first solution I came up with:

It's simply fetching the Shop and then getting all the Activities via the defined relation.


Here's a working example of how you would implement jmikola's last suggestion:

0 投票
1 回答
132 浏览

php - 在 Doctrine 中,美元符号在点语法中的含义是什么,例如 property.$.otherProperty?

在 Doctrine 中,美元符号在点语法中的含义是什么,例如 property.$.otherProperty?

我注意到在 /Doctrine/ODM/MongoDB/Tests/Query 中有一个有趣的 queryBuilder 参数 field('phonenumbers.$.phonenumber') ,其中,在 User 类中,“phonenumbers”是类 Phonenumber 的 @embeddedDocument,并且在类电话号码,“电话号码”是一个@string。我的问题是......这是什么.$。语法是什么?