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

透過動態查詢器進行豐富的查詢

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

透過條件查詢處理複雜查詢

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

並透過命名查詢支援可重用查詢

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內容倉庫(JCR)和Riak(一個具有良好REST API的可擴充套件鍵/值資料儲存)的支援。

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

祝您使用愉快!

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有