findOneAndUpdate不更新文档

时间:2018-10-23 19:02:59

标签: javascript mongoose jestjs

我可以通过以下方法更新文档:

const findAndDisabledAlert = id => (
  AlertModel.findOneAndUpdate({ _id: id }, { $set: { status: 'D' } }, { new: true }, (err, alt) => {
    if (err) console.log(err);
    return alt;
  })
);

但是这不会更新文档并返回null,我也尝试了没有“ $ set”的情况,但是得到了相同的结果。

以下测试将创建警报,但不会更改状态:

test('Should create, find and disable an alert', async () => {
    const currencyAlert = {
      name: 'VTC',
      pair: 'BTC',
      price: 0.00009241,
      condition: 'H',
      status: 'D',
      exchange: 'BITTREX',
    };

    const alert = await createAlert(currencyAlert);
    const alertDisabled = await findAndDisabledAlert(alert.id);

    expect(alertDisabled.status).toBe('D');
  });

1 个答案:

答案 0 :(得分:0)

语句const alertDisabled =等待findAndDisabledAlert(alert.id);  不是

const alertDisabled = await findAndDisabledAlert(alert._id);