Tag: MongoDB

Spring WebFlux:Reactive MongoDB

我是Spring Reactor的新手,所以我想重构这个简单的spring数据(在kotlin)方法: fun save(user: User): Mono<User> { if (findByEmail(user.email).block() != null) { throw UserAlreadyExistsException() } user.password = passwordEncoder.encode(user.password) return userRepository.save(user) } 谢谢

我不能在Springboot-Kotlin中排除MongoAutoConfiguration(MongoSocketOpenException)

当试图排除MongoAutoConfiguration时,我得到一个MongoSocketOpenException。 我试图连接到一个远程的MongoDB。 考虑到我在Kotlin工作,@EnableAutoConfiguration语法是否正确? 例外: com.mongodb.MongoSocketOpenException: Exception opening socket at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongo-java-driver-3.4.2.jar:na] at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongo-java-driver-3.4.2. jar:na] at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongo-java- driver-3.4.2.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_20] Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_20] at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_20] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_20] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_20] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_20] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_20] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_20] at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_20] at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) […]

Kotlin Kmongo插入并返回插入的项目

我只是试图在Kotlin上做一个干净的虚拟项目来练习,但是Kotlin和插入方法一样。 我想这将是一些其他的方式来插入和返回项目不是旧的方式来提出2个请求。 fun insert(book: Book) : Book? { getByEan(book.EAN)?.let { return null } mongo.collection.insertOne(book) return getByEan(book.EAN) } 所以在这种情况下,我做了一个预先检查,以不对相同的EAN项目,然后如果成功,然后返回插入的项目。 它可以更简单吗? 也许预先检查与索引或以某种方式取回插入的项目没有新的要求?

如何将JSON字符串映射到Kotlin Map

我有一个简单的Kotlin程序访问一个Mongo数据库并生成一个JSON字符串,如下所示: "{ "_id" : { "$oid" : "593440eb7fa580d99d1abe85"} , "name" : "Firstname Secondname" , "reg_number" : "ATC/DCM/1016/230" , "oral" : 11 , "oral_percent" : 73 , "cat_1" : 57 , "cat_2" : 60 , "cat_average" : 59 , "assignment" : 90 }" 我如何将这个映射到Kotlin Map / MutableMap? Kotlin中是否有API读取JSON并将其映射到Map / MutableMap?

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解决方案。 怎么能做到这一点? 我错过了什么吗?