I am using the Vogels library to interact with DynamoDb. AModel below is a model I have defined using vogels.define() and here is a snippet of code that I can not get working:
var Promise = require('bluebird')
Promise.promisifyAll(AModel);
var query = AModel
            .query(1)
            .usingIndex('a-index')
Promise.resolve(query.exec()).then(
function(output) {
    console.log(output)
})
output is:
{
  "_readableState": {
    "highWaterMark": 16384,
    "buffer": [],
    "length": 0,
    "pipes": null,
    "pipesCount": 0,
    "flowing": false,
    "ended": false,
    "endEmitted": false,
    "reading": false,
    "calledRead": false,
    "sync": true,
    "needReadable": false,
    "emittedReadable": false,
    "readableListening": false,
    "objectMode": true,
    "defaultEncoding": "utf8",
    "ranOut": false,
    "awaitDrain": 0,
    "readingMore": false,
    "decoder": null,
    "encoding": null
  },
  "readable": true,
  "domain": null,
  "_events": {},
  "_maxListeners": 10
}
How do I turn query.exec() into a bluebird promise? With Q, I would just use
q.ninvoke(query, 'exec').
 
     
     
    