问题标签 [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 投票
2 回答
1164 浏览

mongodb - ZF2、学说-mongodb 和 PHP7

我将一个简单的框架项目 ZF2 更新为 PHP7,并在 php7 中安装了 mongodb 的库

我在 cli php.in 行中添加

我做了一个phpinfo,mongodb的扩展名是1.1.3-dev。

我尝试安装:

  • “教义/教义-mongo-odm-module”:“dev-master”
  • “教义/mongodb-odm”:“开发大师”

但我有一个错误。

问题是教义-mongodb与php7和php驱动程序mongodb-1.1兼容吗?

0 投票
2 回答
678 浏览

mongodb - Doctrine MongoDB - 有没有办法从 JSON 构建查询?

我有一个任意的 MongoDB JSON 查找查询字符串,例如:

或者

是否有任何现有方法可以从 JSON 字符串创建 Doctrine.MongoDB.Query 对象?或者直接查询 mongo,然后将这些结果传递给学说进行水合作用?

0 投票
2 回答
475 浏览

mongodb - Sonata admin mongodb中的自动完成过滤器

我有大量的城市。我想在我的管理员中按城市名称过滤。由于大量记录,我必须使用 sonata_type_model_autocomplete。它在形式上几乎完美。

但是当我尝试在过滤器中执行此操作时出现错误:

过滤器代码:

0 投票
1 回答
1167 浏览

php - 是否可以在 Symfony 中为同一个包使用具有不同数据库的两个不同文档管理器?

我的目标是让两个不同的文档管理器连接到共享相同数据库模型的不同数据库。

我已经对我的数据库模型进行了重大更改,我想编写一个自定义迁移脚本,该脚本从旧模型中检索对象并读取其值,然后使用旧对象的信息在新模式上创建一个新对象。

我在这里找到了一个相关的 stackoverflow 问题: Working with two entity manager in the same bundle in Symfony2

但是,此解决方案建议为每个数据库使用不同的前缀,并将数据模型的类存储在不同的文件夹中:

我真的很想有两个不同的文档管理器对象,它们在同一个文件夹中共享相同的模型,但连接到不同的数据库。这可能吗?

0 投票
1 回答
518 浏览

symfony - 错误:教义.mongodb:generate:document 没有使用 Symfony3 找到捆绑包

错误:doctrine.mongodb:generate:document没有使用 Symfony3 找到捆绑包。

c:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\patmonS1>php bin/console doctrine:mongodb:generate:document PatmonBundle:Product

配置文件

C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\patmonS1\app\config\services.yml 服务:

C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\patmonS1\app\config\parameters.yml

C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\patmonS1\src\Pat\monBundle\Document\Product.php

0 投票
0 回答
173 浏览

symfony - Doctrine MongoDB ODM - 具有级联 executeUpsert 的错误

学说/mongodb-odm 版本 1.0.8

我有一个使用自引用多对多双向关系的文档。最初我收到错误消息,告诉我必须设置 cascade=persist。我这样做了,现在我遇到了一个非常奇怪的教义错误。我的文件:

现在,当我尝试保存级联记录时:

我收到以下错误:

注意:未定义的索引:$set

堆栈跟踪

  1. 在第 315 行的 vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php -
  2. 在 ErrorHandler ->handleError ('8', '未定义索引: $set', '/var/www/etc-mongo-tng/vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister. php', '315', 数组('data' => array(), 'options' => array('upsert' => true)))
  3. 在 vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php 在第 315 行 + 在 DocumentPersister ->executeUpsert (array(), array())
  4. 在 vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php 第 296 行 +
  5. 在第 1189 行的 vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/UnitOfWork.php 中的 DocumentPersister ->executeUpserts (array()) +
  6. 在 UnitOfWork ->executeUpserts (object(ClassMetadata), array('000000005a8560de00007fc48349ed60' => object(Ledger)), array()) 在 vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/UnitOfWork.php 在行425 +

看起来同一个错误不会影响 1.1.2 分支。如果我按如下方式修补 DocumentPersister.php,则一切正常。这是一个合法的错误吗?我应该做PR吗?

0 投票
1 回答
1262 浏览

aggregation-framework - 带有 ObjectId 的学说 mongodb-odm 聚合构建器查询

我在 yml 映射中有以下用户文档配置,其中 id 字段为 MongoId。我有一个用例,需要我使用聚合生成器来投影数据。当结果可用时,文档 _id 将作为 MongoId 对象返回。

有谁知道如何在返回字符串而不是 MongoId 中投影 _id 字段?

YML 中的文档映射:

聚合查询:

结果:

谢谢

0 投票
1 回答
631 浏览

mongodb - 在 Document 中使用散列时出现“数组到字符串转换”错误

我正在尝试将哈希类型用于文档。当我创建一个对象时没有问题,但是当我尝试检索文档时,我得到一个“数组到字符串的转换”。

我已经简化了文档。当我添加这个哈希属性时,这个数组到字符串的转换才开始发生。

查看 symfony 的转储消息,它似乎来自 hydrator。

任何想法为什么 Doctrine 试图将数据转换为字符串?

在我的一项服务中的某处:

堆栈跟踪:

0 投票
2 回答
540 浏览

symfony - Doctrine MongoDB 在夹具负载上禁用记录器

有没有办法仅在夹具加载时禁用 Doctrine MongoDB 捆绑记录器?就像在https://stackoverflow.com/a/35222045/3965970中建议的那样,但对于 MongoDB 捆绑包。

谢谢

0 投票
0 回答
77 浏览

mongodb - Doctrine 和 MongoDb:在 MongoDb-Document 中定义必填字段(

我将 MongoDB 与 Doctrine 一起用于 Symfony 项目。

对于一个文档(我称之为class Product),我需要定义一个字段(例如名称),但我想以一种在不定义它的情况下无法保存文档的方式行事。这意味着,无论何时创建或更新新产品,$name都必须定义属性。

对于学说和 MySql,这很简单。在那里你不得不说:

MongoDb 中是否有类似的方法?

以下代码(我在类似的线程中找到)不起作用: