Mungo mit Bluebird promisifyAll - saveAsync auf modellobjekt Ergebnisse in einem Array als gelöst Versprechen Wert

Ich bin mit der bluebird ist promisifyAll mit Mungo. Wenn ich Anrufe, saveAsync (die promisified version speichern) auf ein Modell-Objekt, das gelöst Wert der abgeschlossenen Versprechen, ist ein array mit zwei Elementen. Die erste ist meine gespeicherte Modell-Objekt, das zweite den integer 1. Nicht sicher, was hier Los ist. Unten ist Beispielcode, um das Problem zu reproduzieren.

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

Die Antwort, die ich bekommen, ist

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

Ich hatte erwartet, nur das erste Element in dem array, wie das mongoose Modell save () - Methode gibt ein einzelnes Objekt.

Jede Hilfe wäre sehr geschätzt werden!

InformationsquelleAutor winston smith | 2014-09-11

Schreibe einen Kommentar