我希望仅在交易集合中不存在某个交易时,才将该交易添加到交易集合中。
我的问题是:函数findPosition似乎找到了一些交易,坚韧我的集合是空的。2因此,没有新的交易被添加到我的集合中。
下面是代码:
async function createPostion(params, uid){
let position = new OpenPositionModel({
uid : uid,
symbol : params.symbol,
entryPrice: params.entryPrice
});
return position.save();
}
async function findPosition(uid, symbol, entryPrice){
return OpenPositionModel.findOne({
$and: [
{uid: uid},
{symbol: symbol},
{entryPrice: entryPrice}
]
});
}
async function createNewPostion(params, uid){
let res = findPosition(uid, params.symbol, params.entryPrice);
if(!res){
createPostion(params, uid);
}
}
我试着使用$和操作符来确保通过交易者的uid、符号和entryPrice找到交易。
如果在集合中找不到任何东西,我的游标应该是空的,对吗?
1条答案
按热度按时间xwbd5t1u1#
您应该等待
findPosition
返回的Promise
在createNewPosition
内得到解析: