MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment interroger mongodb depuis groovy/grails ?

En supposant que vous avez ajouté la dépendance du pilote Java mongodb dans la configuration de construction et actualisé vos dépendances.

Créez un service Grails nommé MongoService.groovy et mettez le code suivant.

N'oubliez pas d'importer mongodb

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)
    }
}

Nous pouvons maintenant utiliser ce MongoService dans nos contrôleurs ou d'autres services.

Vous pouvez maintenant faire les choses suivantes dans votre contrôleur.

N'oubliez pas d'importer mongodb.DBCursor

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()
         }

    }
}

Pour plus d'informations, reportez-vous à la mongodb java docs