Как получить ref (id) моего последнего созданного экземпляра - PullRequest
4 голосов
/ 12 июня 2019

Я не знаю, как просто получить ref (id) моего последнего экземпляра, созданного с помощью faunadb.Мне нужно поместить его в URL.

Я использую это для создания своего экземпляра:

/* code from functions/todos-create.js */
import faunadb from 'faunadb' /* Import faunaDB sdk */
/* configure faunaDB Client with our secret */
const q = faunadb.query
const client = new faunadb.Client({
  secret: process.env.FAUNADB_SECRET
})

/* export our lambda function as named "handler" export */
exports.handler = (event, context, callback) => {
  /* parse the string body into a useable JS object */


  const eventBody = JSON.stringify(event.body)
  const data = JSON.parse(eventBody)
  const mission = {
    data: JSON.parse(data)
  }
  // {"title":"What I had for breakfast ..","completed":true}
  /* construct the fauna query */
  return client.query(q.Create(q.Ref("classes/missions"), mission))
  .then((response) => {
    console.log("success", response)
    /* Success! return the response with statusCode 200 */
    return callback(null, {
      statusCode: 200,
      body: JSON.stringify(response)
    })
  }).catch((error) => {
    console.log("error", error)
    /* Error! return the error with statusCode 400 */
    return callback(null, {
      statusCode: 400,
      body: JSON.stringify(error)
    })
  })
}

Я начинаю разработку, и мне нужно сделать это просто с помощью faunadb, можете ли вы помочьмне, пожалуйста?

1 Ответ

6 голосов
/ 12 июня 2019

Создание экземпляра возвращает ссылку, как и другие метаданные экземпляра и предоставленные пользователем данные экземпляра. Это означает, что мы можем составить select с create, чтобы извлечь нужные данные. Использование синтаксиса оболочки:

Select("ref", Create(Class("missions"), {...})

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

Select(["ref", "id"], Create(Class("missions"), {...})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...