API 参考
以下部分作为 OGM 和 Model 类中所有功能的参考指南。
OGM
函数 | 描述 | 示例 |
---|---|---|
|
返回一个 |
|
|
异步方法用于初始化 OGM。在内部,调用 |
|
|
返回一个与传入名称匹配的 |
类型定义
查询返回
错误的查询
|
|
要么写入指定的 |
写入 outFile
使用 noWrite 写入
|
assertIndexesAndConstraints
异步方法用于断言数据库约束的存在,在成功的情况下解析为 void
,或者如果执行后必要的约束不存在,则抛出错误。它将 input
对象作为参数传入,支持的字段如下例所示。
假设类型定义保存到变量 typeDefs
中,并且有效的驱动程序实例保存到变量 driver
中
type Book {
isbn: String! @unique
}
以及 OGM
的构造和初始化,使用
const ogm = new OGM({
typeDefs,
});
await ogm.init();
以下内容检查标签 "Book" 和属性 "isbn" 是否存在唯一的节点属性约束,如果不存在则抛出错误
await ogm.assertIndexesAndConstraints();
下一个示例在约束不存在的情况下创建约束
await ogm.assertIndexesAndConstraints({ options: { create: true } });
输入
接受参数
名称 | 类型 | 描述 |
---|---|---|
|
|
执行 |
AssertConstraintsOptions
名称 | 类型 | 描述 |
---|---|---|
|
|
是否在约束不存在的情况下创建约束。默认情况下禁用。 |
模型
aggregate
此方法可用于聚合节点,并映射到底层模式 聚合.
参数
名称 | 类型 | 描述 |
---|---|---|
|
|
GraphQL |
示例
以下是如何编写查询以查找最长的用户姓名
const User = ogm.model("User");
const usersAggregate = await User.aggregate({
aggregate: {
name: {
longest: true
}
}
});
以及如何查找名称以字母 "D" 开头的最长的用户姓名
const User = ogm.model("User");
const usersAggregate = await User.aggregate({
where: {
name_STARTS_WITH: "D"
},
aggregate: {
name: {
longest: true
}
}
});
create
此方法可用于更新节点,并映射到底层 create
变异。它返回一个 Promise
,该 Promise
解析为等效于此操作的变异响应。
delete
此方法可用于删除节点,并映射到底层 删除 变异。它返回一个 Promise
,该 Promise
解析为一个 DeleteInfo
对象
名称 | 类型 | 描述 |
---|---|---|
|
|
删除的节点数。 |
|
|
删除的关系数。 |
find
此方法可用于查找节点,并映射到底层模式 查询。它返回一个 Promise
,该 Promise
解析为与模型类型匹配的对象数组。
update
此方法可用于更新节点,并映射到底层 update
变异。它返回一个 Promise
,该 Promise
解析为等效于此操作的变异响应。
参数
名称 | 类型 | 描述 |
---|---|---|
|
|
GraphQL |
|
|
GraphQL |
|
|
GraphQL |
|
|
GraphQL |
|
|
GraphQL |
|
|
|
|
|
变异的选择集,有关更多信息,请参见 选择集. |
|
|
GraphQL 变异的 |
|
|
GraphQL 变异的 |
|
|
GraphQL 变异的 |