sql >> データベース >  >> NoSQL >> MongoDB

groovy / grailsからmongodbをクエリする方法は?

    ビルド構成にmongodbjavaドライバーの依存関係を追加し、依存関係を更新したと仮定します。

    MongoService.groovyという名前のgrailsサービスを作成します 次のコードを入力します。

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

    これで、このMongoServiceをコントローラーまたは他のサービスで使用できるようになりました。

    これで、コントローラーで次のことができるようになりました。

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

    詳細については、 mongodb javadocs を参照してください。



    1. コレクション内の複数のフィールドをマージするにはどうすればよいですか?

    2. MongoDBをインストールする方法

    3. node.js mongodb --collection.find()。toArray(callback)-コールバックが呼び出されない

    4. mongodb接続がエラーをタイムアウトしました