GORM 的另一種風味:MongoDB

技術 | Graeme Rocher | 2010年11月15日 | ...

我們致力於使 GORM 普及於各種 NoSQL 儲存的努力,今天又達到了一個新的里程碑,我們很高興地宣布 GORM for MongoDB

MongoDB 是一種文件資料庫,它彌合了鍵值儲存(快速且高度可擴展)和傳統 RDBMS 系統(提供豐富的查詢和深入的功能)之間的差距。

如同 RedisGemfire 外掛程式,GORM for MongoDB 完全支援 CRUD 操作

def person = new Person(name:"Fred", age: 45)
person.save()

person = Person.get(person.id)
assert person != null

person.delete()

assert Person.get(person.id) == null

透過 dynamic finders 進行豐富的查詢

def fred = Person.findByName("Fred")
def adults = Person.findAllByAgeGreaterThan(18)
def teenagers = Person.findAllByAgeBetween(13, 18)
def children = Person.findAllByAgeLessThan(13)

透過 criteria queries 處理複雜查詢

def results = Person.withCriteria {
    like('name', 'F%')
    gt('age', 18)
}

以及透過 named queries 支援可重複使用的查詢

class Person {
   String name
   int age

   static namedQueries = {
         adults { gt 'age', 18 }
         childrenStartingWithF {
              lt 'age', 18
              like 'name', 'F%'
         }
   }
}

Person.adults.list()
Person.adults.findByName("Fred")
Person.childrenStartingWithF.count()

所有這些同時仍然允許訪問底層的 Mongo 驅動程式

def fred = Person.collection.findOne(name:"Fred")

我們準備了一個簡短的螢幕錄影,示範 GORM for MongoDB 的實際操作

GORM for MongoDB Screencast

您可以查看 GORM for MongoDB 外掛程式的完整文件,以獲取更多關於安裝、配置和使用 API 的資訊。

GORM for MongoDB 是建立在與 Redis 和 Gemfire 支援 相同的程式碼庫 之上,說到這點,我們對於即將到來的社群程式碼貢獻感到非常興奮,包括對 Java Content Repository (JCR) 和 Riak (一個具有良好 REST API 的可擴展鍵/值資料儲存庫) 的支援。

我們仍然熱衷於與社群合作,在其他資料儲存庫之上建立 GORM 實作的支援,如果您有興趣提供協助,請在 Grails 郵件列表 上與我們聯繫。

盡情享用!

取得 Spring 電子報

保持與 Spring 電子報的聯繫

訂閱

保持領先

VMware 提供培訓和認證,以加速您的進展。

深入瞭解

取得支援

Tanzu Spring 在一個簡單的訂閱中,為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位檔案。

深入瞭解

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

檢視全部