MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

स्कैला मोंगो ड्राइवर का उपयोग करके ऑब्जेक्ट को सीरियलाइज करें?

वे इसे आसान नहीं बनाते हैं। जावा के माध्यम से खुदाई, मैं इस समाधान के साथ आया:

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. यदि सरणी मौजूद है तो ऑब्जेक्ट को सरणी में पुश करें अन्यथा MongoDB में ऑब्जेक्ट के साथ सरणी बनाएं

  2. जावा के साथ Azure में MongoDB से कनेक्शन

  3. MySQL, MongoDB और PostgreSQL के लिए बैकअप एन्क्रिप्शन की विशेषता - ClusterControl 1.5.1

  4. MongoDB / Morphia तकनीकी आईडी को ObjectId के रूप में सहेजता है, हालांकि यह जावा में एक स्ट्रिंग है

  5. मैं async विधि में कोड डीबग क्यों नहीं कर सकता?