我可以用来执行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)
感谢。
答案 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())
}
我无法提出更新的解决方案。对不起。