MongoDB GORM 之 API 使用指南

介绍

MongoDB 是一种 NoSQL 数据库,而 GORM 是一个优秀的 ORM 框架。MongoDB GORM 则是将两者结合起来的一种解决方案,它提供了方便的 API 来操作 MongoDB 数据库。

本文将详细介绍 MongoDB GORM 的 API 使用指南,帮助读者了解如何使用 GORM 来操作 MongoDB 数据库。

安装

首先,我们需要在项目中引入 GORM 和 MongoDB 驱动:

dependencies {
    implementation 'org.grails:grails-datastore-gorm-mongodb:7.1.0.RELEASE'
    implementation 'org.mongodb:mongo-java-driver:3.12.7'
}

连接数据库

在使用 GORM 操作 MongoDB 之前,我们需要先连接数据库。连接数据库的方式有两种:

配置文件方式

application.yml 中添加如下配置:

grails:
  mongodb:
    uri: mongodb://localhost:27017/mydatabase
    databaseName: mydatabase

其中 uri 为 MongoDB 的连接字符串,databaseName 为数据库名称。

代码方式

在代码中创建 MongoDatastore 对象:

import org.grails.datastore.mapping.mongo.MongoDatastore
import com.mongodb.MongoClient

def mongoClient = new MongoClient("localhost", 27017)
def mongoDatastore = new MongoDatastore(mongoClient, "mydatabase")

操作数据

定义领域类

在 GORM 中,我们使用领域类来描述数据结构。MongoDB GORM 支持的数据类型包括:StringIntegerLongDoubleDateListMapEmbeddedObjectId。其中,Embedded 为嵌套文档类型,ObjectId 为 MongoDB 中文档的唯一标识。

下面是一个示例领域类:

import grails.compiler.GrailsCompileStatic
import org.grails.datastore.mapping.mongo.MongoEntity

@GrailsCompileStatic
@MongoEntity
class User {
    String username
    String password
    List<String> roles = []
    Date createDate
    Map<String, String> preferences = [:]
    Address address
    static embedded = ['address']
}

@GrailsCompileStatic
@MongoEntity
class Address {
    String street
    String city
    String state
    String zip
}

保存数据

使用 save() 方法保存数据:

def user = new User(username: "admin", password: "123456", createDate: new Date())
user.roles = ["admin", "user"]
user.preferences = ["theme": "dark"]
user.address = new Address(street: "123 Main St", city: "San Francisco", state: "CA", zip: "94105")
user.save()

查询数据

使用 find() 方法查询数据:

def user = User.find("username", "admin").first()

更新数据

使用 update() 方法更新数据:

def user = User.find("username", "admin").first()
user.password = "654321"
user.save()

删除数据

使用 delete() 方法删除数据:

def user = User.find("username", "admin").first()
user.delete()

总结

本文介绍了 MongoDB GORM 的 API 使用指南,包括连接数据库、操作数据等内容。希望读者通过本文的学习和实践,能够掌握 GORM 操作 MongoDB 数据库的技能,提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658ea11beb4cecbf2d47d457


纠错
反馈