领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们致力于使 GORM 能够广泛应用于 NoSQL 存储的努力今天又达到了一个新的里程碑,我们很高兴地宣布 适用于 MongoDB 的 GORM。
MongoDB 是一种文档数据库,它弥合了键值存储(速度快且高度可扩展)和传统 RDBMS 系统(提供丰富的查询和强大的功能)之间的差距。
与 Redis 和 Gemfire 插件一样,适用于 MongoDB 的 GORM 完全支持 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)
使用 Criteria 查询 处理复杂的查询。
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")
我们准备了一个简短的屏幕录像,演示了适用于 MongoDB 的 GORM 的实际操作。
您可以查看 适用于 MongoDB 的 GORM 插件的完整文档,以获取有关安装、配置和使用 API 的更多信息。
适用于 MongoDB 的 GORM 基于与 Redis 和 Gemfire 支持相同的 代码库,说到这一点,我们对即将到来的社区对代码的贡献感到非常兴奋,其中包括对 Java 内容存储库 (JCR) 和 Riak(一个具有良好 REST API 的可扩展键值数据存储)的支持。
我们继续热衷于与社区合作,在其他数据存储之上构建 GORM 实现的支持,如果您有兴趣提供帮助,请在 Grails 邮件列表 上与我们联系。
享受!