.getField()返回空结果

时间:2016-09-15 14:35:07

标签: rethinkdb rethinkdb-javascript reql

使用RethinkdbDashNode.js的{​​{1}}包,我可以使用此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'

当我调用API路径访问此数据并执行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 }) }) } 函数时,我得到以下响应......

all

然而,完全相同的查询在{ status: 200, data: [] } 管理控制台的数据资源管理器中按预期工作。

非常感谢任何关于为什么会这样做的想法或帮助!

1 个答案:

答案 0 :(得分:0)

问题解决了。

问题实际上是我用Express指定的路线而与rethinkdb无关!