MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB Scala - документ за заявка за конкретна стойност на поле

Можете да промените заявката си по този начин:

import com.mongodb.MongoClient
import com.mongodb.client.MongoCollection
import com.mongodb.client.model.Projections

def getLatestCommitOffsetFromDB(
  databaseName: String,
  collectionName: String
): Long = {

  val mongoClient = new MongoClient("localhost", 27017);

  val collection =
    mongoClient.getDatabase(databaseName).getCollection(collectionName)

  val record = collection
    .find()
    .projection(
      Projections
        .fields(Projections.include("offset"), Projections.excludeId()))
    .first

  record.get("offset").asInstanceOf[Double].toLong
}

Мисля, че сте пропуснали com.mongodb.client.model.Projections импортира, за да използва fields , include и excludeId

Използвах first вместо limit(1) за да улесните извличането на резултата.

first връща Document обект, на който можете да извикате get за извличане на стойността на заявеното поле.

Но всъщност, тъй като искате само един запис и едно поле, можете да премахнете проекцията!:

val record = collection.find().first


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да проверите дали даден документ е актуализиран или вмъкнат в MongoDB

  2. Посочете множество критерии в spring mongo db заявка

  3. Mongodb намери създадени резултати по дата днес

  4. Допълнителни свойства за валидиране на MongoDB jsonSchema

  5. Изпълнете собствена заявка за mongodb с драйвер за mongodb java