使用mongoDB在Scala中执行CRUD操作的方法有哪些

时间:2010-09-18 10:34:37

标签: scala mongodb

我可以用来执行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:基于字段的检索。 IMO,可以放入内部循环并打印所有。没试过循环的事情。

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

感谢。

2 个答案:

答案 0 :(得分:2)

Brendan McAdams在此link上的演讲将为您提供如何一起使用scala + mongoDB的大部分想法。

答案 1 :(得分:2)

为了编程公众的利益: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())
    }

我无法提出更新的解决方案。对不起。