问题标签 [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.
mongodb - 带有spring数据mongodb的mongodb动态模式
我正在尝试将配置存储在 MongoDB 中。我希望文档模式是动态的,以便在集合中存储不同类型的配置。配置可能不仅仅包含简单的字符串键值对。在使用 spring-data-mongodb 时,我看到我需要定义一个通常映射到 mongodb 的类。因此,当我需要向集合添加更多配置时,我需要对类进行更改。我真的不想这样做,因为我希望能够在不更改代码的情况下修改配置(最好不要重新启动长时间运行的应用程序)。此外,我最终存储的是应该由不同服务使用的配置,所以我真的不能有一个定义明确的模式。相反,我希望服务从存储中提取配置(即提供密钥,获取值)。这让我怀疑 spring-data-mongodb 在哪里是这种用例的正确选择。我的用例有什么明显的解决方案或替代方案吗?
提前致谢。
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 测试,无法加载上述应用程序上下文,给出了我在顶部附近列出的异常。
我尝试添加以下内容,但我得到了同样的异常。
有人知道错误可能是什么吗?
mongodb - MongoDB 特定 ID
我找不到如何在 MongoDB 中设置格式“id”。我使用 SpringData Mongo 并看到 id 不正常。我想做 id 作为 postgres "BIGSERIAL" 和自动增量。有人知道怎么做吗?
mongodb - MongoDB 唯一索引不允许覆盖
我在我的 Mongo 文档中的一个字段上创建了一个 unique=true 的索引。这按预期工作 - 它通过覆盖现有条目来禁止重复。
我想禁止覆盖,而是在尝试插入重复项时得到错误或异常。有没有办法做到这一点?我将如何使用 Spring Data MongoDB 做到这一点?
java - Java 类到 MongoDB“DDL”生成支持
我想知道Spring Data MongoDB是否支持从 java classes 生成 DDL(mongodb 文档结构)这样的功能。
换句话说,类似于 Hibernate 的hbm2ddl.auto功能。
mongodb - 如何将 spring data mongo @CompoundIndex 与子集合一起使用?
假设我有如下实体:
是否可以一起使用关于 A.id 和 B.id 的复合索引?
我的意思是也许像:
提前致谢。
spring-data - 支持 spring-data-mongodb 中的 Auditable?
据我所知,spring-data-mongodb项目(1.1.1.RELEASE版本)中不支持org.springframework.data.domain.Auditable。有没有人有一些提示或参考如何实现这个功能?
social-networking - 用于社交 RESTful 层的 Neo4j Spring 数据 POC
开始着手一个新项目...为社交网络平台提供服务的RESTful层。
Neo4j是我主要数据存储的明显选择,我之前有机会使用Neo,但没有利用Spring Data将POJO映射到节点的能力,这似乎很方便。
目标:
该层应该提供类似于Facebook Graph API的支持,它为每个实体/对象定义相关的属性和连接,可以从 URL 引用。
FB 图形 API如果可能的话,我想避免传输将被序列化到域实体/从域实体传输的对象,并将我的域 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
为了简单起见,我们有Profile、Story节点和它们之间的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 吗?
现在就是这样......欢迎对我上面提出的任何方法发表任何评论......谢谢。
spring-data - 不使用注解自定义序列化策略spring-data-mongodb
我想自定义/配置 spring-data-mongodb(版本 1.1.1.RELEASE)的序列化策略而不使用注释(如@Id、@Document、@Field),因为我无权访问域类。
这可能吗?如果是,那么最有效的方法是什么?
mongodb - mongoDB好友关系和原子更新
我需要使用 Spring Data 在 MongoDB 中为用户存储朋友关系。我的“模式”解决方案是将朋友的用户名(也是_id)存储在用户文档中。我没有使用 DBRef,因为 Spring Data 和 DBRef 在自我关系上似乎存在问题(朋友是用户:p)。一个简单的用户文档是这样的:
我认为这个模型足够好。但是当有人接受好友请求时,我必须更新两个用户的文档,并且操作不是原子的。在某些情况下,两者中只有一个得到更新。这不是关键数据,但有一个解决方案仍然会很好。这是我想太多了吗?我在 2 阶段提交http://cookbook.mongodb.org/patterns/perform-two-phase-commits/上找到了这个文档,但对于这种情况来说似乎太多了,尽管它很容易实现。