2010-09-18 42 views
2

我可以用來執行CRUD操作的方法/驅動程序是什麼? ATM,我只有用創建函數成功,即使用mongoDB在Scala中執行CRUD操作的方法

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

爲了編程公衆的利益: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

Brendan McAdams在這個link的演示文稿將爲您提供有關如何將scala + mongoDB結合使用的大部分想法。

相關問題