sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan forespørger man mongodb fra groovy/grails?

Forudsat at du har tilføjet mongodb java driver afhængighed i build config og opdateret dine afhængigheder.

Opret en Grails-tjeneste ved navn MongoService.groovy og indsæt følgende kode.

Glem ikke at importere 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 bruge denne MongoService i vores controllere eller andre tjenester.

Nu kan du gøre følgende ting i din controller.

Glem ikke at importere 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()
         }

    }
}

For mere info Se mongodb java docs



  1. Forespørg MongoDB ved hjælp af 'ObjectId'

  2. MongoDB - $text operator søg efter sætning ELLER ord(er)

  3. MongoDB Tutorial for begyndere (komplet vejledning) – Lær MongoDB på 15 min

  4. Spring Data Mongodb:Opdatering af dokumenter