我正在编写一个小帮手模块,以使nodejs mongodb驱动程序与promises一起工作 . 我的一个功能如下:

this.saveP = function(doc,options){
    return new Promise(function(res,rej){
        collection.save(doc,options,function(err,result){
            if(err) rej(err);
            else res(result);
        })
    })
}

但是当我调用这个函数时,promise会解决一个奇怪的对象:

{ result: { ok: 1, nModified: 1, n: 1 },
  connection:
   { domain: null,
     _events:
      { close: [Object],
        error: [Object],
        timeout: [Object],
        parseError: [Object],
        connect: [Function] },
     _maxListeners: undefined,
     options:
      { socketOptions: {},
        auto_reconnect: true,
        ...

文档(http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#save)似乎表明这应该有效 . 这是怎么回事?