Какие способы выполнения CRUD-операций в Scala с mongoDB - PullRequest
2 голосов
/ 18 сентября 2010

Какие методы / драйверы я могу использовать для выполнения операций CRUD? Atm, я успешен только с функцией Create, т.е.

DBObbject.put("field","value")

Здравый смысл предполагает, что find () должен означать получение, но его использование дает следующую ошибку

value find is not a member of com.mongodb.BasicDBObject

Все и любая помощь приветствуется.

РЕДАКТИРОВАТЬ # 1:

Мне также удалось выполнить извлечение, но я извлек весь документ, а не конкретное поле.

var mongo = new Mongo()
var databaseName = mongo.getDB("DBName")
var collectionName = databaseName.getCollection("namecollection")
var testdbObject = new BasicDBObject()

testdbObject.put("userId", "5678")
var cursor = collectionName.find(testdbObject)

println(cursor.next())

РЕДАКТИРОВАТЬ # 2: Полевой поиск. ИМО, можно положить внутрь цикла и распечатать все. Не пробовал петлю вещь.

var result = collectionName.findOne()
println(result.get("userId").toString)

Спасибо.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2010

Для блага программистов: операции CRD.

Операция создания:

def addToMongo(): Unit = {    
        dbObject.put("name", "mongo")
        dbObject.put("type", "db")        
        collectionName.insert(dbObject)
     }

Операция получения:

def retrieveMongo(): Unit = {    
    var result = collectionName.findOne()
    println(result.get("fieldName").toString)

  }

Операция удаления.

def deleteMongo(): Unit = {
    var deleteQuery = new BasicDBObject
    var tempObject = new BasicDBObject
    deleteQuery.put("requestType", "temp");
  var cursor = new DBCursor(collectionName, deleteQuery, tempObject)
    while (cursor.hasNext()) {
      collectionName.remove(cursor.next())
    }

Мне не удалось найти решение для обновления. Извините за это.

2 голосов
/ 18 сентября 2010

Презентация Брендана МакАдамса по этой ссылке даст вам большую часть идеи о том, как использовать scala + mongoDB вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...