如何从saveAsync返回一个Mongoose对象?
我已经promubified与蓝鸟mongoose – 似乎工作正常,除了由saveAsync()
返回的文档只是普通的对象,缺乏方法/虚拟。
order.saveAsync().then(function(order) { order.save(); // errors with object has no method 'save'
我使用“保存”作为示例,但没有内置方法或我的自定义方法似乎可用。
我怎样才能得到一个从saveAsync
返回的Mongoose对象?
保存callback被调用多个参数 – 对象和numberAffected
。 因此,承诺是由一个数组[object, numberAffected]
。 (这个变化在3.0)
所以你可以解引用数组(手动或获取),传播或:
order.saveAsync().then(function(result) { var order = result[0]; return order._id; });
使用get
order.saveAsync().get(0).then(function(order) { return order._id; });
使用传播
order.saveAsync().spread(function(order, numberAffected) { return order._id; });