查询引擎 API
¥Query Engine API
Strapi 后端提供了一个查询引擎 API 来与更底层的数据库层进行交互。
¥The Strapi backend provides a Query Engine API to interact with the database layer at a lower level.
在大多数情况下,你不应使用查询引擎 API,而应使用 文档服务 API。
¥In most cases you should not use the Query Engine API and rather use the Document Service API.
仅当你确切知道自己在做什么时才使用查询引擎 API,例如,如果你想使用直接与数据库的唯一行交互的底层 API。
¥Only use the Query Engine API if you exactly know what you are doing, for instance if you want to use a lower-level API that directly interacts with unique rows of the database.
请记住,查询引擎 API 不了解最高级的 Strapi 5 功能,如草稿和发布、国际化、内容历史记录等。
¥Please keep in mind that the Query Engine API is not aware of the most advanced Strapi 5 features like Draft & Publish, Internationalization, Content History, and possibly more.
在深入了解查询引擎 API 文档之前,建议你阅读以下介绍:
¥Before diving deeper into the Query Engine API documentation, it is recommended that you read the following introductions:
和 内容 API 介绍。
¥and the Content APIs introduction.
基本用法
¥Basic usage
查询引擎可通过 strapi.db.query
获得:
¥The Query Engine is available through strapi.db.query
:
strapi.db.query('api::blog.article').findMany({ // uid syntax: 'api::api-name.content-type-name'
where: {
title: {
$startsWith: '2021',
$endsWith: 'v4',
},
},
populate: {
category: true,
},
});
可用操作
¥Available operations
查询引擎允许对数据库条目执行以下操作:
¥The Query Engine allows the following operations on database entries:
📄️ Single operations
Create, read, update, and delete single database entries with the Query Engine API.
📄️ Bulk operations
Create, read, update, and delete multiple database entries with the Query Engine API.
📄️ Filters
Get exactly what you need by filtering database entries with the Query Engine API.
📄️ Populate
Get additional data with your Query Engine API queries by populating relations.
📄️ Order & Pagination
Sort and paginate the results of your Query Engine API queries.