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 社群的所有即將到來的活動。

檢視全部