Tag: spring data mongodb

spring的数据mongodb和kotlin

使用弹簧数据mongodb使用kotlin时,我遇到了一个问题。 当我尝试从mongodb读取对象时,我得到一个错误,抱怨说我的数据类没有默认的无参数构造函数。 我可以通过给我的数据类中的每个字段的值来解决这个问题,所以编译器会生成一个默认的无参数构造函数。 当然,我不是真的想这样做。 我知道有一个jacksonkotlin模块,它包含在我的maven文件中。 它适用于反序列化对象,我得到了HTTP,所以我知道spring拿起它。 但似乎spring的数据mongodb不使用jackson对象映射器? 有没有办法我可以在弹簧数据mongodb中使用jackson对象映射器或修复没有非参数构造函数的问题?

Spring数据mongodb和集合模式设计

朋友,我有一个问题,如何组织和注释我的实体和弹簧数据配置为不同的关系? 我有关系的用户,钱包和余额实体: 一对一:用户钱包 一对多:钱包余额 我想在MongoDB中有下一个模式: > db.users.findOne() { _id : ObjectID(‘UUUU’), name : ‘Jason Statham’ } > db.wallets.findOne() { _id : ObjectID(‘WWWW’), user : ObjectID(‘UUUU’) balances : [ { currency: ‘USD’, balance: 100}, { currency: ‘EUR’, balance: 530.50 } ] } 电子钱包应该包含对ObjectID的引用,并且User被存储在单独的集合中 电子钱包应包含作为嵌入实体的余额 实体: data class User(val id: String, val name: String) data class Wallet(val […]

有什么办法可以实现春季webflux的分页和弹簧数据的反应

我试图了解Spring 5的反应部分。我已经创建了简单的rest端点,用于查找所有使用spring web-flux和spring data reactive(mongo)的实体,但是没有看到如何实现分页。 这是我在Kotlin的简单例子: @GetMapping(“/posts/”) fun getAllPosts() = postRepository.findAll() 这是否意味着反应终点不需要分页? 有什么办法从服务器端使用这个堆栈实现分页?

在Spring Boot M7和MongoDB中找不到ReflectKotlinClass

如果使用Web和MongoDB模块在start.spring.io上创建一个新的Spring Boot项目,请添加任何@Document注释类,并且将kotlin.version从1.2.10升级到1.2.21,您将得到一个NoClassDefFoundError: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.0.M7:run (default-cli) on project demo: An exception occurred while running. null: InvocationTargetException: Error creating bean with name ‘mongoTemplate’ defined in class path resource [org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.class]: Unsatisfied dependency expressed through method ‘mongoTemplate’ parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘mappingMongoConverter’ defined in class path resource [org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.class]: Unsatisfied […]

Mongo审计有选择地工作

我已经启用了mongo审计,@ @CreatedBy和@LastModifiedBy的注入是有选择地工作的。 对于某些文档,这两个都不起作用。 @Document class Category { @Id var id: String? = null @field:Indexed(unique = true) @field:NotEmpty var name: String? = null set(value) { field = value?.trim()?.toLowerCase() } @CreatedDate @JsonProperty(access = JsonProperty.Access.READ_ONLY) var createdDate: Date? = null @LastModifiedDate @JsonProperty(access = JsonProperty.Access.READ_ONLY) var lastModifiedDate: Date? = null @CreatedBy @JsonProperty(access = JsonProperty.Access.READ_ONLY) var createdBy: ObjectId? = null […]

在使用Kotlin时使用spring-data-mongodb的例外

我是Kotlin的新手,并试用spring-data-mongodb。 请看下面的例子(在这里也可以作为完全可运行的Maven项目与内存中的MongoDb: https : //github.com/danielsindahl/spring-boot-kotlin-example )。 Application.kt package dsitest import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication @SpringBootApplication open class Application fun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args) } User.kt package dsitest import org.springframework.data.annotation.Id import org.springframework.data.annotation.PersistenceConstructor import org.springframework.data.mongodb.core.mapping.Document @Document(collection = "user") data class User @PersistenceConstructor constructor(@Id val id: String? = null, val userName: String) UserRepository.kt package dsitest import org.springframework.data.repository.CrudRepository interface […]

春天的数据mongodb和kotlin

使用弹簧数据mongodb使用kotlin时,我遇到了一个问题。 当我尝试从mongodb读取对象时,我得到一个错误,抱怨说我的数据类没有默认的无参数构造函数。 我可以通过给我的数据类中的每个字段的值来解决这个问题,所以编译器会生成一个默认的无参数构造函数。 当然,我不是真的想这样做。 我知道有一个杰克逊kotlin模块,它包含在我的maven文件中。 它适用于反序列化对象,我得到了HTTP,所以我知道春天拿起它。 但似乎春天的数据mongodb不使用杰克逊对象映射器? 有没有办法我可以在春天的数据mongodb中使用杰克逊对象映射器或修复没有非参数构造函数的问题?

Kotlin getter覆盖+ MongoDB

我是Kotlin开发的新手,我无法弄清楚如何处理这个问题。 我有以下Kotlin数据类映射到MongoDB集合(Spring Data MongoDB): @Document(collection = "orders") data class OrderEntity @PersistenceConstructor constructor(@Id val id: ObjectId? = null, val place: String, var date: Date, val closed: Boolean = false, val price: Int = 0) 我想重写默认的id getter并返回一个字符串,而不是ObjectId。 似乎“ID”字段名称不能改变,因为我得到消息“自定义ID属性的字段名称不允许!自定义名称将不被考虑! 所以我不能使用总是建议的_id解决方案。 怎么能做到这一点? 我错过了什么吗?