Mongoose avec Bluebird promisifyAll - saveAsync sur l'objet de modèle résulte en un tableau en tant que valeur de promesse résolue

Je suis en utilisant bluebird est promisifyAll avec mangouste. Quand je l'appelle saveAsync (le promisified version de sauvegarde) sur un objet de modèle, la valeur résolue de la promesse est un tableau avec deux éléments. La première est celle de mon modèle enregistré objet, le second est le nombre entier 1. Pas sûr de ce qui se passe ici. Ci-dessous est un exemple de code pour reproduire le problème.

var mongoose = require("mongoose");

var Promise = require("bluebird");


Promise.promisifyAll(mongoose);


var PersonSchema = mongoose.Schema({
    'name': String
});

var Person = mongoose.model('Person', PersonSchema);

mongoose.connect('mongodb://localhost/testmongoose');


var person = new Person({ name: "Joe Smith "});

person.saveAsync()
.then(function(savedPerson) {
    //savedPerson will be an array.  
    //The first element is the saved instance of person
    //The second element is the number 1
    console.log(JSON.stringify(savedPerson));
})
.catch(function(err) {
    console.log("There was an error");
})

La réponse que je reçois est

[{"__v":0,"name":"Joe Smith ","_id":"5412338e201a0e1af750cf6f"},1]

Je m'attendais à ce que le premier élément de ce tableau, que la mangouste modèle de la méthode save() retourne un objet unique.

Toute aide serait grandement appréciée!

source d'informationauteur winston smith