sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur frågar man mongodb från groovy/grails?

Förutsatt att du har lagt till mongodb java-drivrutinsberoende i build-konfigurationen och uppdaterat dina beroenden.

Skapa en grailstjänst som heter MongoService.groovy och skriv in följande kod.

Glöm inte att importera 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)
    }
}

Vi kan nu använda denna MongoService i våra kontroller eller andra tjänster.

Nu kan du göra följande saker i din handkontroll.

Glöm inte att importera 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()
         }

    }
}

För mer information Se mongodb java docs



  1. mongoDB distinkt &var i samma fråga?

  2. crosstab-query eller virtuals för att spara data med mongoose

  3. Finns det något sätt att implementera paginering i fjäderwebflux och fjäderdata reaktiv

  4. Uppdatera Mongo-array:ta bort dynamisk nyckel