Ottoman Load Array Issue

Couple of questions to Ottoman

a) when will there be an update so we can use the latest couchbase sdk ? Also maybe you want to go and update docs to reflect either which version of couchbase sdk is supported based on ottoman version are tell user to install the one mentioned in the package.json of ottoman.

b) i am following the guide athttps://dzone.com/articles/developing-an-api-with-nodejs-using-couchbase-nosq-1 but are having an issue to return my arrays. Nots ure what i am missing but it does not resolve the emails even so it has a valid id for the link.

Here is what i have in my Test Bucket
DOCID = Contact|0112f774-4b5d-4b73-b784-60fa9fa2f9ff

   {
      "_type": "Contact",
      "timestamp": "2019-01-30T23:59:59.188Z",
      "emails": [
        {
          "_type": "Email",
          "$ref": "3ec07ba0-aaec-4fd4-a207-c4272cef8d66"
        }
      ],0112f774-4b5d-4b73-b784-60fa9fa2f9ff",
      "first_name": "Test",
      "last_name": "User"
    }

DOCID = Email|3ec07ba0-aaec-4fd4-a207-c4272cef8d66

{
        "_type": "Email",
        "timestamp": "2019-01-31T00:36:01.264Z",
        "_id": "3ec07ba0-aaec-4fd4-a207-c4272cef8d66",
        "type": "work",
        "address": "test@outlook.com",
        "name": "Test Outlook"
        }

All looks good so far but
Here is my Model

const ottoman = require("ottoman")
ottoman.bucket = require("../app").bucket
var ContactModel = ottoman.model("Contact",{
        timestamp: {
            type: "Date",
            default: function() {return new Date()}
        },
        first_name : "string",
        last_name : "string",
        emails: [
            {
                ref:"Email"
            }
        ]}  )
var EmailModel = ottoman.model("Email",{
    timestamp: {
        type: "Date",
        default: function() {return new Date()}
    },
    type : "string",
    address : "string",
    name: "string"
} )
module.exports = {
    ContactModel : ContactModel,
    EmailModel : EmailModel
}

And this is my route and function to get the data

app.get("/contacts/:id",  function(req, res){
model.ContactModel.getById(req.params.id,{load: ["emails"]}, function(error, contact){
if(error) {
   res.status(400).json({ Success: false , Error: error, Message: ""})
          }
     res.status(200).json({ Success: true , Error: "", Message: "", Data : contact})
   })
  })

And finally here is my result

{
"Success": true,
"Error": "",
"Message": "",
"Data": {
    "timestamp": "2019-01-30T23:59:59.188Z",
    "emails": [
        {
            "$ref": "Email",
            "$id": "3ec07ba0-aaec-4fd4-a207-c4272cef8d66"
        }
    ],
    "_id": "0112f774-4b5d-4b73-b784-60fa9fa2f9ff",
    "first_name": "Test",
    "last_name": "User"
}

}

Ok did some more trouble shooting and found that it seems to resolve because if i return contact.emails i get the emails resolved back same for if i print contact to console i am getting the below which shows its resolved.

OttomanModel(`Contact`, loaded, key:Contact|0112f774-4b5d-4b73-b784-60fa9fa2f9ff, {
timestamp: 2019-01-30T23:59:59.188Z,
emails: [ OttomanModel(`Email`, loaded, key:Email|3ec07ba0-aaec-4fd4-a207-c4272cef8d66, {
timestamp: 2019-01-31T00:36:01.264Z,
_id: '3ec07ba0-aaec-4fd4-a207-c4272cef8d66',
type: 'work',
address: 'test@outlook.com',
name: 'Test Outlook',
}),
OttomanModel(`Email`, loaded, key:Email|93848b71-7696-4ef5-979d-05c19be9d593, {
timestamp: 2019-01-31T04:12:40.603Z,
_id: '93848b71-7696-4ef5-979d-05c19be9d593',
type: 'work',
address: 'newTest@outlook.com',
name: 'Test2 Outlook',
}) ],
_id: '0112f774-4b5d-4b73-b784-60fa9fa2f9ff',
first_name: 'Test',
last_name: 'User',
})

Sow why when i return contact it does not show the resolved but contact.emails shows it ?