.getField()返回空结果

问题描述:

使用RethinkdbDashNode.jsRethink,我能够用这个ReQL.getField()返回空结果

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" 
} 

问题是当我尝试将pluckgetField功能添加到查询隔离和检索只是'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管理控制台的数据资源管理器中按预期工作。

任何想法或帮助为什么发生这种情况非常感谢!

问题已解决。

问题实际上与我的路线指定Expressrethinkdb没有任何关系!