Доступ к ключам хранилища данных облака Google на веб-интерфейсе - PullRequest
0 голосов
/ 29 января 2019

Я написал запрос get для узла / экспресса для извлечения всех сущностей вида.Запрос get выполнен успешно, и я вижу все свойства, возвращаемые обратно как json, которые я могу отслеживать на внешнем угловом сайте.Но я не вижу свойства NAME / ID, которое в основном является ключами, связанными с объектами.Мне нужно ИМЯ / ID или ключи сущностей для выполнения другой операции.Как извлечь ключи для доступа к интерфейсу интерфейса пользователя / html?

GET-запрос, который я использовал -

app.get("/api/venues/", (req, res, next) => {
    const query = datastore
    .createQuery('venue');

    query.run().then((venuesList) => {
    // do something
  })

Результаты, которые я получаю после запуска узла, получают -

[ { property1: '<property-value-1>',
    property2: '<property-value-2>',
    property3: '<property-value-3>',
    property4: '<property-value-4>',    
    [Symbol(KEY)]:
     Key {
       namespace: undefined,
       id: <'id-value'>,
       kind: 'venue',
       path: [Getter] } } ]

Я не могу получить доступ или увидеть «Ключ», полученный в приведенном выше примере, для получения результатов на внешнем интерфейсе.

1 Ответ

0 голосов
/ 30 января 2019

Похоже, что очень мало участников запросов на облачное хранилище данных Google при переполнении стека.В любом случае ... я сделал много перезапусков и придумал приведенное ниже решение по вопросу, и оно работает.

Запрос get через узел извлечет все сущности из хранилища данных и все эти сущности вместе с их ключамибудет видно на интерфейсе узла.Однако ключи сущностей не будут видны в пользовательском интерфейсе (Angular, который я использую), даже если мы передадим тот же самый json (с сущностями) в пользовательский интерфейс.

Поэтому я внес изменения в свойJSON получен из хранилища данных.Я раздельно извлек ключи сущностей, создал новый атрибут в том же json и передал этот измененный json в пользовательский интерфейс.Так что теперь я смог получить доступ к ключам сущностей через атрибут псевдонима, который я создал на узле.Проверьте измененный код ниже -

app.get("/api/venues/", (req, res, next) => {
    const query = datastore
    .createQuery('venue');

    query.run().then(([venuesList]) => {
    venuesList.forEach(venue => { venue['venueKey'] = venue[datastore.KEY] });
    //venuesList.forEach(venue => console.log(venue));
    res.status(200).json(
      {
        message: "Request was processed successfully!",
        venues: venuesList
      }
    );
  })
})

Надеюсь, это поможет другим в сообществе.

...