猫鼬更新未更新:{ok:0,n:0,nModified:0}

时间:2018-10-09 08:28:10

标签: mongodb mongoose crud

我在MongoDB上有一个名为“ permissions”的集合。 我想实现一个简单的更新,如下所示:

let schema = new Schema({
    title: String
  });
  let Permissions = mongoose.model("Permission", schema);
  let permission = new Permissions();

  let query = {};
  let newValues = {
    $set: {
      title: "Yes"
    }
  };
  permission.updateOne(query, newValues, (err, docs) => {
    console.log(err); // null
    console.log(docs); // { ok: 0, n: 0, nModified: 0 }
    if (err) return cast.error(err);
    return cast.ok();
  });

但是我在{ ok: 0, n: 0, nModified: 0 }的控制台日志中收到docsnullerr的控制台日志中。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

根据docs

  

模型是从Schema定义编译的精美构造函数。 一个   模型的实例称为文档 。模特负责   从底层的MongoDB数据库创建和读取文档。

因此,您仅需要在.save()调用期间创建实例。其他操作(更新,读取,删除)应用于现有文档,因此无需创建实例。