.getField() возвращает пустой результат

Используя пакет RethinkdbDash для Node.js и Rethink, я могу использовать этот ReQL:

r.db('<DATABASE>').table('<TABLE>').get('<UUID_FOR_OBJECT>')

...чтобы получить желаемый объект из базы данных в следующем формате...

{
    "address":  "<ADDRESS>" ,
    "createdAt": Thu Sep 15 2016 02:08:54 GMT+00:00 ,
    "email": <EMAIL>,
    "firstName":  "<FIRST NAME>" ,
    "fullName":  "<FULL NAME>" ,
    "lastName":  "<LAST NAME>" ,
    "middleName":  "<MIDDLE NAME>" ,
    "phone":  "<PHONE NUMBER>" ,
    "prescriptions": [
     {
        "expiresOn": Thu Sep 15 2016 00:00:00 GMT+00:00 ,
        "hasExpired": false ,
        "name":  "<MEDICATION NAME>" ,
        "prescribedBy":  "<DOCTOR NAME>" ,
        "prescribedOn": Thu Sep 15 2016 02:54:52 GMT+00:00 ,
        "startOn": Thu Sep 15 2016 02:54:52 GMT+00:00 ,
        "uuid":  "f11fed84-30dc-4cf9-af36-b715f303bed1"
      }
    ] ,
    "uuid":  "bd4d6d44-3af3-4224-afef-d7e9a876025b"
}

Проблема возникает, когда я пытаюсь добавить в запрос функцию pluck или getField, чтобы изолировать и получить только массив 'prescriptions'. Это функция в моем контроллере для вызова...

export function all(req, res) {
  let id = req.params.id

  r.table('Patients').get(id).pluck('prescriptions').run() //Also tried .getField('prescriptions') and .get(id)('prescriptions')
    .then((results) => {
      console.log(results)
      return res.json({ status: 200, data: results })
    })
    .catch((error) => {
      console.log(error)
      return res.json({ status: 400, message: 'There was an error finding the medication of patient ' + id, data: error })
    })
}

Когда я вызываю путь API для доступа к этим данным и выполняю функцию all, я получаю следующий ответ...

{
    status: 200,
    data: []
}

Однако точно такой же запрос работает, как и ожидалось, в обозревателе данных Rethink консоли администратора.

Любая идея или помощь относительно того, почему это происходит, очень ценится!


person m_callens    schedule 15.09.2016    source источник


Ответы (1)


Задача решена.

На самом деле проблема была с моими маршрутами, указанными с помощью Express, и не имела ничего общего с rethinkdb!

person m_callens    schedule 15.09.2016