MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie frage ich Mongodb von Groovy/Grails ab?

Angenommen, Sie haben die mongodb-Java-Treiberabhängigkeit in der Build-Konfiguration hinzugefügt und Ihre Abhängigkeiten aktualisiert.

Erstellen Sie einen Grails-Dienst namens MongoService.groovy und fügen Sie den folgenden Code ein.

Vergessen Sie nicht, mongodb

zu importieren
package com.organisation.project

import com.mongodb.*


class MongoService {
    private static MongoClient mongoClient
    private static host = "localhost"    //your host name
    private static port = 27017      //your port no.
    private static databaseName = "your-mongo-db-name"

    public static MongoClient client() {
        if(mongoClient == null){
            return new MongoClient(host,port)
        }else {
            return mongoClient
        }
    }

    public DBCollection collection(collectionName) {
        DB db = client().getDB(databaseName)
        return db.getCollection(collectionName)
    }
}

Wir können diesen MongoService jetzt in unseren Controllern oder anderen Diensten verwenden.

Jetzt können Sie folgende Dinge in Ihrem Controller tun.

Vergessen Sie nicht, mongodb.DBCursor

zu importieren
package com.organisation.project



import com.mongodb.DBCursor

class YourControllerOrService {

    def mongoService    //including Mongo service 

    def method(){
        def collection = mongoService.collection("your-collection-name")
        DBCursor cursor =  collection.find()
        try{
            while(cursor.hasNext()){
                def doc = cursor.next()
                println doc     //will print raw data if its in your database for that collection
                }

         }finally {
                  cursor.close()
         }

    }
}

Weitere Informationen finden Sie in Mongodb-Java-Dokumentation