Каленая несколько типов контента фильтрацияJavascript

Форум по Javascript
Ответить
Anonymous
 Каленая несколько типов контента фильтрация

Сообщение Anonymous »

У меня вступление тип контента в Contentuful, и это некоторая часть представления JSON типа контента

Код: Выделить всё

{
"name": "Intros",
"description": "Inserted into existing pages",
"displayField": "title",
"fields": [
{
"id": "title",
"name": "Title",
"type": "Symbol",
"localized": false,
"required": true,
"validations": [],
"disabled": false,
"omitted": false
},
{
"id": "reviewStatus",
"name": "Review Status",
"type": "Symbol",
"localized": false,
"required": false,
"validations": [
{
"in": [
"Internal",
"Accepted"
]
}
],
"disabled": false,
"omitted": false
},
{
"id": "referencePages",
"name": "Reference Pages",
"type": "Array",
"localized": false,
"required": false,
"validations": [],
"disabled": false,
"omitted": false,
"items": {
"type": "Link",
"validations": [
{
"linkContentType": [
"application",
"activity",
"assessments",
"book",
"client",
"landing",
"list",
"onlineProgram",
"organization",
"person",
"podcast",
"topics",
"video"
]
}
],
"linkType": "Entry"
}
},
{
"id": "excludeClient",
"name": "Exclude Client",
"type": "Array",
"localized": false,
"required": false,
"validations": [],
"disabled": false,
"omitted": false,
"items": {
"type": "Link",
"validations": [
{
"linkContentType": [
"client"
]
}
],
"linkType": "Entry"
}
}
]
}
И у меня есть удовлетворительный запрос, чтобы получить все вступления, где используется справочная страница, как я хочу получить введения, где используется 7hizeudwmmwa4emkm8kcks Тип приложения, и я использую этот запрос, и он возвращает 1 элемент, где используется ссылочный идентификатор, который является правильным.

Код: Выделить всё

    const ctfPayload = {
content_type: 'intros',
select:
'fields.referencePages,fields.client,fields.excludeClient,fields.commonPages,fields.header,fields.description,fields.url,fields.linkName,fields.style,fields.image,fields.multipleImages,fields.tags,fields.context',
'fields.reviewStatus': 'Accepted',
limit: 1000,
'fields.referencePages.sys.id': '7HizEUDWMMWA4EMkm8kcKS',
};

const response = await ctf.getEntries(ctfPayload);
< /code>
Итак, первые вопросы: если я использую GraphQL, чтобы сделать то же самое, я получил 0 элементов, что сбивает с толку, так как они точно одинаковы. < /p>
query {
introsCollection(
where: {
reviewStatus: "Accepted",
referencePages: {
sys: {
id: "7HizEUDWMMWA4EMkm8kcKS"
}
}
}
limit: 1000
) {
items {
title
}
total
}
}
Второй вопрос: все типы контента справочной страницы имеют slug правильно с тем же идентификатором и типом, и в соответствии с документацией я могу предоставить Slug для фильтрации Intros с помощью ссылок. />https://www.contentful.com/developers/d ... on-filters написано Calm С Slug Calm я подтвердил это так, как если бы я удалил ссылки Filter I Получил 141 Intros, и первое вступление, которое содержит Calm ссылочная страница также возвращается. /> Если я попробую то же самое с удовлетворенным JS API, я получил ошибку < /p>

Код: Выделить всё

    const ctfPayload = {
content_type: 'intros',
select:
'fields.referencePages,fields.client,fields.excludeClient,fields.commonPages,fields.header,fields.description,fields.url,fields.linkName,fields.style,fields.image,fields.multipleImages,fields.tags,fields.context',
'fields.reviewStatus': 'Accepted',
limit: 1000,
'fields.referencePages.slug': 'calm',
};

const response = await ctf.getEntries(ctfPayload);
< /code>
Это ошибка, которую я получаю < /p>
{
"sys": {
"type": "Error",
"id": "InvalidQuery"
},
"message": "The query you sent was invalid. Probably a filter or ordering specification is not applicable to the type of a field.",
"details": {
"errors": [
{
"name": "unknown",
"path": [
"fields",
"referencePages",
"en-US",
"slug"
],
"details": "The path \"fields.referencePages.en-US.slug\" is not recognized"
}
]
},
"requestId": "8c86a826-0025-463c-8bcc-2a1bbb4955cd"
}
Итак, я хочу отфильтровать Intros с помощью referencepages.slug , поскольку все типы содержимого справочной страницы имеют свойство slug с тем же идентификатором и типом. Ссылки

Подробнее здесь: https://stackoverflow.com/questions/796 ... -filtering
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»