java - 无法使用 hibernate OGM 从 mongoDB 中删除元素

标签 java mongodb hibernate hibernate-ogm

我使用以下代码从 mongoDB 集合中删除具有给定 parent_id 的所有元素:

final String strQuery = "db.Child.remove({'$query':{'PARENT_ID':'" + parentId + "'}})";
                final Query query = entityManager.createNativeQuery(strQuery, Child.class);
                query.executeUpdate();

但是,我遇到以下异常:

Unexpected Exception
com.mongodb.util.JSONParseException:
db.Child.remove({'$query':{'CHILD_ID':'7313c076-dbaa-4557-b80f-68d040b65d82'}})

如果我将 remove 替换为 find,我会得到结果。不知道是什么导致了上述 native 查询中的 JSON 解析器错误。

我正在使用 hibernate-ogm 版本 4.3 Final 和 mongo-db 3.2

最佳答案

Hibernate OGM 4.3 不支持 native 查询的删除操作。

您应该尝试一下 OGM 5.0.2.Final:它应该可以解决您的问题,因为我们添加了对大量其他操作的支持(以及许多其他修复和改进)。

关于java - 无法使用 hibernate OGM 从 mongoDB 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39793733/

相关文章:

Mongodb - 如何在多个字段中查找字符串?

java - 如何在 log4j.properties 文件中设置占位符的值?

java - 在具有多个 @ManyToOne 关联的实体上使用 hibernate update() 时,如何限制关联表被考虑加入

java - 为 Servlet 设置 JSP 位置

java - Spring Scheduler 意外停止

javascript - Mongoose 似乎不支持 $max 字段更新运算符,有什么建议吗?

java - 使用 Hibernate 4's Integrator pattern and Spring' 的依赖注入(inject)

java - Selenium WebDriver dom 定位器解决方法

java - BufferedReader指针

javascript - 如何使用 native Node 驱动程序在 Node 服务器上执行 mongo 查询字符串?