Upsert Mongoose错误

时间:2017-10-26 07:59:01

标签: node.js mongodb mongoose

我是Mongoose / Mongo和node.js的新手,所以我怀疑这只是我身边的一个误解,当我试图将我的物体竖立时,我遇到了一些问题。
这里有什么我尝试在我的代码中使用upsert:

  app.post("/api/orders/:id", async (req, res) => {
    const { id, name, email, phone, data, item } = req.body;
    const existingVisitor = await Visitor.findOne({ email: email.trim() });
    if(existingVisitor){
      delete Visitor._id;
    }
    const OrderSchema = await new Order({
      orderDate: new Date(),
      item: item
    });

    const visitor = await new Visitor(
      { email: email.trim() },
      {
        name: name,
        email: email.trim(),
        phone: phone,
        data: data,
        createDate: new Date(),
        _user: req.params.id,
        order: [OrderSchema]
      },
      { upsert: true, setDefaultsOnInsert: true }
    );
    try {
      await visitor.update();
      console.log("Sucess!");
    } catch (err) {
      res.status(422).send(err);
    }

当我尝试在Postman中测试它时,出现错误后出现错误结果:将更新应用到文档{_id:ObjectId('59f1896ccabc4f12bc17e5c6'),...}后,(不可变)发现字段'_id'已被更改为_id:null
我该怎么做才能解决这个错误?

0 个答案:

没有答案