mongoose查询结果如何返回到函数
function getNextSequenceValue(sequenceName){ var sequenceDocument = counters.findOneAndUpdate( {_id : sequenceName}, {$inc:{sequence_value:1}}, {new: true} ); return sequenceDocument; }
我想在getNextSequenceValue函数返回查询后的结果 但因为异步在return sequenceDocument 执行在 update操作之前,返回的是undefined。 在网上看到说可以用mongoose内置的promise来实现,但看过了还是不太会改。
4 回复
function getNextSequenceValue(sequenceName){
return counters.findOneAndUpdate(
{_id : sequenceName},
{$inc:{sequence_value:1}},
{new: true}
).exec();
}
使用的时候
getNextSequenceValue(foo).then(function(seq) {
balabala;
});
@SinalVee then里不能return seq的值吗?我想要执行getNextSequenceValue后将结果直接给一个对象里的键
var one = new products({ _id:getNextSequenceValue(“productid”) })
在then()里写呀,不这样的话你就得再去看看generator/yield了
用promise就对了 你可以用bluebird 也可以和nodeclub一样用eventproxy