Содержательный JS: невозможно получить записи, сопоставив поле ссылки - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Javascript API Contentful для создания проекта.В настоящее время у меня возникла проблема, когда я получаю «undefined» в качестве возврата для следующего вызова.

const query = {
  content_type: "vehicle",
  include: 2,
  select: "fields",
  "fields.site.fields.siteName[match]": id
};

Я настроил «vehicle» в качестве модели, которая использует ссылку «site» симена, адреса и пр.Кажется, возможно использовать [существовать] на первом уровне, как

"fields.site[exists]": true

, который работает, но неудовлетворительно для того, что мне нужно.

Мне нужны любые транспортные средства, которые принадлежатна названный сайт.Очевидно, что я обязательно добавил соответствующий контент, и я действительно могу видеть данные, опуская строку «fields.site.fields ...».В целях безопасности у меня очень не было бы транспортных средств для других сайтов, отображаемых в ответе.

Я что-то упустил?Повышение уровня «include» также ничего не делает.

1 Ответ

0 голосов
/ 20 сентября 2018

??

Я полагал, что вы не видели ни одного предложения в документах.

Второе - fields.brand.sys.contentType.sys.id = sFzTZbSuM8coEwygeUYДа, которые выиспользуйте для фильтрации полей записей из типа контента 2PqfXUJwE8qSYKuM0U6w8M.

Таким образом, в основном, чтобы ваш запрос работал, вы также должны определить тип контента записи, с которой соответствует ваш поисковый запрос.

Я быстро создал прототип вашего дела в Node.js.

const { createClient } = require('contentful');
const client = createClient({
  space: '...',
  accessToken: '...'
});

client.getEntries({
  content_type: 'vehicle',
  select: 'fields',
  // this is the line you're missing
  'fields.site.sys.contentType.sys.id': 'site',
  'fields.site.fields.siteName': 'vw-site'
}).then(({items}) => {
  console.log(items);
}).catch(e => console.log(e));

Подробный пример можно найти в документации

Надеюсь, что это поможет:)

...