MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nối tiếp đến đối tượng bằng trình điều khiển scala mongo?

Họ không làm cho nó dễ dàng. Tìm hiểu kỹ về java, tôi đã nghĩ ra giải pháp này:

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. khung tổng hợp mongodb - Tìm nạp trường của tài liệu đầu tiên của mảng lồng nhau

  2. Lưu nhiều tệp hình ảnh bằng tiện ích Kartik FileInput Widget

  3. lưu một đối tượng có mối quan hệ hai chiều trong mongodb bằng cách sử dụng trình điều khiển c # chính thức

  4. MongoDB bật với Docker không kết nối được với máy chủ [localhost:27017] trong lần kết nối đầu tiên

  5. MongoDB tìm tài liệu con và sắp xếp kết quả