问题标签 [spring-data-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 回答
1117 浏览

mongodb - 带有spring数据mongodb的mongodb动态模式

我正在尝试将配置存储在 MongoDB 中。我希望文档模式是动态的,以便在集合中存储不同类型的配置。配置可能不仅仅包含简单的字符串键值对。在使用 spring-data-mongodb 时,我看到我需要定义一个通常映射到 mongodb 的类。因此,当我需要向集合添加更多配置时,我需要对类进行更改。我真的不想这样做,因为我希望能够在不更改代码的情况下修改配置(最好不要重新启动长时间运行的应用程序)。此外,我最终存储的是应该由不同服务使用的配置,所以我真的不能有一个定义明确的模式。相反,我希望服务从存储中提取配置(即提供密钥,获取值)。这让我怀疑 spring-data-mongodb 在哪里是这种用例的正确选择。我的用例有什么明显的解决方案或替代方案吗?

提前致谢。

0 投票
1 回答
3921 浏览

spring-data-mongodb - 自定义存储库界面中的错误

我正在尝试在多模块 Maven 3 项目中使用 Spring Data for MongoDB 设置我的第一个 Java 应用程序。以下是相关版本:

  • 爪哇 7
  • mongodb-win32-x86_64-2.2.0
  • Spring Data 1.1.1.RELEASE
  • Spring 3.2.0.RELEASE

我收到以下运行时错误:


在 google 中搜索我发现有同样问题的人,它似乎与自定义存储库有关。

这是我要存储为 mongo 文档的实体。

标准存储库接口。

自定义界面(我认为错误所在的位置)。

自定义接口实现。

最后是应用程序上下文。

我还有一个小的 Spring 测试,无法加载上述应用程序上下文,给出了我在顶部附近列出的异常。

我尝试添加以下内容,但我得到了同样的异常。

有人知道错误可能是什么吗?

0 投票
1 回答
295 浏览

mongodb - MongoDB 特定 ID

我找不到如何在 MongoDB 中设置格式“id”。我使用 SpringData Mongo 并看到 id 不正常。我想做 id 作为 postgres "BIGSERIAL" 和自动增量。有人知道怎么做吗?

0 投票
2 回答
2431 浏览

mongodb - MongoDB 唯一索引不允许覆盖

我在我的 Mongo 文档中的一个字段上创建了一个 unique=true 的索引。这按预期工作 - 它通过覆盖现有条目来禁止重复。

我想禁止覆盖,而是在尝试插入重复项时得到错误或异常。有没有办法做到这一点?我将如何使用 Spring Data MongoDB 做到这一点?

0 投票
1 回答
293 浏览

java - Java 类到 MongoDB“DDL”生成支持

我想知道Spring Data MongoDB是否支持从 java classes 生成 DDL(mongodb 文档结构)这样的功能。

换句话说,类似于 Hibernate 的hbm2ddl.auto功能。

0 投票
2 回答
25851 浏览

mongodb - 如何将 spring data mongo @CompoundIndex 与子集合一起使用?

假设我有如下实体:

是否可以一起使用关于 A.id 和 B.id 的复合索引?

我的意思是也许像:

提前致谢。

0 投票
1 回答
395 浏览

spring-data - 支持 spring-data-mongodb 中的 Auditable?

据我所知,spring-data-mongodb项目(1.1.1.RELEASE版本)中不支持org.springframework.data.domain.Auditable。有没有人有一些提示或参考如何实现这个功能?

0 投票
1 回答
1097 浏览

social-networking - 用于社交 RESTful 层的 Neo4j Spring 数据 POC

开始着手一个新项目...为社交网络平台提供服务的RESTful层。
Neo4j是我主要数据存储的明显选择,我之前有机会使用Neo,但没有利用Spring Data将POJO映射到节点的能力,这似乎很方便。

目标:

  1. 该层应该提供类似于Facebook Graph API的支持,它为每个实体/对象定义相关的属性和连接,可以从 URL 引用。
    FB 图形 API

  2. 如果可能的话,我想避免传输将被序列化到域实体/从域实体传输的对象,并将我的域 pojo 用作传输到/从客户端传输的 JSON。

例子:

  • HTTP GET /profile/{id}/?fields=...&connections=...响应将是Profile对象,其中包含请求的 URL。

  • HTTP GET /profile/{id}/stories/?fields=..&connections=...&page=..&sort=...响应将是根据请求的Story对象列表。

相关版本:

  • Spring 框架3.1.2
  • Spring Data Neo4j 2.1.0.RC3
  • Spring Data MongoDB 1.1.0.RC1
  • 方面J 1.6.12
  • 杰克逊1.8.5

为了简单起见,我们有ProfileStory节点和它们之间的Role关系。


配置文件节点


故事节点


角色关系


起初我没有使用AspectJ支持,但我发现它对我的用例非常有用,因为它在 POJO 和实际节点之间生成分隔线,因此我可以根据请求和域驱动轻松请求属性/连接设计方法看起来很不错。

问题 1 - AspectJ:

假设我想为一个对象定义默认字段,无论是否在 URL 中请求,这些字段都将返回给客户端......所以我在这些字段上尝试了 @FETCH注释,但它似乎在使用时不起作用方面J。目前我是这样做的。。

这是实现这一目标的正确方法吗?即使使用AspectJ也应该支持@FETCH注释吗?我将很高兴获得有关 AspectJ + Neo4j 的示例/博客几乎没有找到任何东西....

问题 2 - 分页:

例如,我想在请求特定连接时支持分页

/profile/{id}/stories/,如果故事相关如下


/profile/{id}/stories/,如果故事相关如下

分页是否支持开箱即用@Query || @RelatedTo || @RelatedToVia使用Pageable接口来检索Page而不是 Set/List/Iterable?限制和排序应该是动态的,具体取决于客户端的请求……我可以使用Cypher Query DSL来实现,但更喜欢使用基本的……其他方法将被愉快地接受。

问题 3 - 带有 {self} 的 @Query:

有点愚蠢的问题,但我无能为力:),似乎在节点实体中使用 @Query 时(使用 {self} 参数},返回类型必须是 Iterable 这很有意义..让我们举个例子...... .

当请求发布连接时:

有解决方法吗?这不会创建另一个属性,它将是 Profile 中的 @Transiant ..

问题 4 - 递归关系:

我在传递/递归关系方面遇到了一些问题,在 Story 中分配新的 Profile 角色时,关系实体角色包含@EndNode story ,其中包含角色连接......其中之一是上面的上下文角色,它永远不会结束:) ...有没有办法配置弹簧数据引擎不创建这些永无止境的关系?

问题 5 - 交易:

也许我之前应该提到过,但我正在为 Neo4j DB 使用 REST 服务器,从之前的阅读中我了解到事务中不支持开箱即用?就像使用嵌入式服务器时一样,我有以下代码......

使用 REST 服务器时,这会在事务中运行吗?这里的操作很少,如果一个失败全部失败?

问题 6 - Mongo + Neo4j:

我需要存储不具有关系性质的数据.. 例如提要、评论、按摩。
我考虑过与MongoDB集成来存储这些.. 我可以将域 pojo 字段/连接拆分到具有跨存储支持的 mongo/neo4j 吗?它会支持 AspectJ 吗?


现在就是这样......欢迎对我上面提出的任何方法发表任何评论......谢谢。

0 投票
2 回答
2461 浏览

spring-data - 不使用注解自定义序列化策略spring-data-mongodb

我想自定义/配置 spring-data-mongodb(版本 1.1.1.RELEASE)的序列化策略而不使用注释(如@Id、@Document、@Field),因为我无权访问域类。

这可能吗?如果是,那么最有效的方法是什么?

0 投票
1 回答
931 浏览

mongodb - mongoDB好友关系和原子更新

我需要使用 Spring Data 在 MongoDB 中为用户存储朋友关系。我的“模式”解决方案是将朋友的用户名(也是_id)存储在用户文档中。我没有使用 DBRef,因为 Spring Data 和 DBRef 在自我关系上似乎存在问题(朋友是用户:p)。一个简单的用户文档是这样的:

我认为这个模型足够好。但是当有人接受好友请求时,我必须更新两个用户的文档,并且操作不是原子的。在某些情况下,两者中只有一个得到更新。这不是关键数据,但有一个解决方案仍然会很好。这是我想太多了吗?我在 2 阶段提交http://cookbook.mongodb.org/patterns/perform-two-phase-commits/上找到了这个文档,但对于这种情况来说似乎太多了,尽管它很容易实现。