【发布时间】:2021-03-19 16:11:37
【问题描述】:
在创建对象然后通过 findOne 查询它时,它不会被拾取。下面是我的用例
const findOrderByStatus = (orderStatus, userDetails) => {
let orderById = new Types.ObjectId(userDetails._id);
console.log({ status: orderStatus, orderedBy: orderById });
console.log('order status:', orderStatus); // printing orderStatus value which is 'requested'
return Order.findOne({ status: orderStatus, orderedBy: orderById }); // but here orderStatus value becomes undefined
};
status 属性是一个 @safer-bwd/mongoose-state-machine。 orderStatus 在 Order.findOne 外部打印,但在 Order.findOne 内部它变为 undefined,即使一个值是硬编码的,该值仍然变为 undefined,但在重新启动服务器后它是能够选择值。
下面是我的查询重启服务器之前,
猫鼬:orders.findOne({ status: undefined }, { projection: {} })
下面是重启服务器后的查询,
猫鼬:orders.findOne({ status: 'requested' }, { projection: {} })
我不明白为什么会这样。
【问题讨论】: