簡體   English   中英

如何測試MongoDB連接?

[英]How to test MongoDB connection?

如何測試MongoDB連接? 這是我的代碼:

class MongoDB(val SERVER:String, val PORT:Int, val DATABASE: String, val     COLLECTION: String){

    def establishConnection(): MongoCollection = {

        val mongoClient = MongoClient(SERVER, PORT)
        println("MongoDB client connection: "+ mongoClient)
        val db_handle = mongoClient(DATABASE)
        println("Connected to DB : "+ DATABASE)
        println("Collections present are :")
        println(db_handle.collectionNames)
        assert (establishConnection.size > 0 )

        db_handle(COLLECTION)
    }

    def insert(collection : MongoCollection, document : MongoDBObject) : Unit =          {
        println(collection.insert(document))
    }

    def find(collection : MongoCollection) = {
        println("In find query() :")
        val cursor = collection.find()
        cursor.toList
    }

    def find(collection : MongoCollection, obj : MongoDBObject)  = {
        println("In find query() with condition:")
        val cursor = collection.find(obj)
        cursor.toList
    }

    def findOne(collection : MongoCollection) ={
        println("In findOne query() :")
        val cursor = collection.findOne()
        cursor.toList
    }

    def findOne(collection: MongoCollection, obj : MongoDBObject) ={
        println("In findOne query() with condition:")
        val cursor = collection.findOne(obj)
        cursor.toList
    }

    def update(collection : MongoCollection, query : MongoDBObject, update :   MongoDBObject) = {
        val result = collection.update(query, update) //update or findAndModify can   be used
        result
    }

    def delete(collection : MongoCollection, query : MongoDBObject) = {
        val result = collection.findAndRemove(query);
        result
    }
}

您可以使用用Java編寫的嵌入式mongo ,它首先下載mongo並將其存儲在主目錄中(僅第一次下載),然后運行它,可以選擇mongoDB版本,這是一個示例項目,如何從中使用它斯卡拉測試https://github.com/SimplyScala/scalatest-embedmongo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM