MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Serialisasi ke objek menggunakan driver scala mongo?

Mereka tidak membuatnya mudah. Menggali melalui java, saya menemukan solusi ini:

import org.bson.codecs.DecoderContext
import org.bson.codecs.configuration.CodecRegistries.{fromProviders, fromRegistries}
import org.bson.codecs.configuration.CodecRegistry
import org.bson.{BsonDocumentReader, BsonDocumentWrapper}
import org.mongodb.scala.bson.codecs.{DEFAULT_CODEC_REGISTRY, Macros}
import org.mongodb.scala.bson.collection.mutable.Document

import scala.reflect.classTag

case class Person(firstName: String, lastName: String)

object MongoTest extends App {

  val personCodecProvider = Macros.createCodecProvider[Person]()
  val codecRegistry: CodecRegistry = fromRegistries(fromProviders(personCodecProvider), DEFAULT_CODEC_REGISTRY)

  val document = Document("firstName" -> "first", "lastName" -> "last")
  val bsonDocument = BsonDocumentWrapper.asBsonDocument(document, DEFAULT_CODEC_REGISTRY)

  val bsonReader = new BsonDocumentReader(bsonDocument)
  val decoderContext = DecoderContext.builder.build
  val codec = codecRegistry.get(classTag[Person].runtimeClass)
  val person: Person = codec.decode(bsonReader, decoderContext).asInstanceOf[Person]

  println(s"person: $person")
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aplikasi NodeJS 2 baris mogok di mongoose.connect() saat mencoba menyambung ke database mongolab MongoDB

  2. Node.js SSH Tunneling ke MongoDB menggunakan Mongoose

  3. Apakah ada solusi untuk mengizinkan penggunaan regex di pipa agregasi Mongodb

  4. Ingin menggunakan DB yang diaktifkan penjurnalan dalam sistem 32 bit-MongoDB

  5. bagaimana cara menggunakan konfigurasi pengiriman Spark:toples,paket:dalam mode cluster?