为什么两个删除参考项目是Mongoose API文档中的Model.remove?

时间:2013-01-23 12:54:40

标签: mongodb mongoose nosql

登陆API docs of mongoose后,左侧菜单显示在model.js部分下。 我们看到这样的事情:

- model.js

    -Model
    -save
    -increment
    -remove      <== 1
    -model
    -$where
    -ensureIndexes
    -remove      <== 2
    ...

remove 都有Model#remove([fn])的链接

还有一个未链接的主题。 标题Model.remove(conditions, [callback]),记录在同一model.js部分下。 (在主题Model.ensureIndexes之后)

有谁可以告诉我两者之间的区别是什么?

1 个答案:

答案 0 :(得分:2)

您可以随时浏览source code以获取猫鼬。这是了解它如何运作的好方法。

有两个删除:

  1. Model.prototype.remove =&gt;这将从集合中删除特定的mongoose Model对象。它适用于一个实例。

    Model.prototype.remove = function remove (fn) { ... }

  2. Model.remove =&gt;这会绕过Mongoose库并使用作为第一个参数提供的条件来执行删除:

    Model.remove = function remove (conditions, callback) { ... }

  3. (它在页面上记录为Model.remove,但是看起来页面上的锚点指向错误的函数有问题,可能是因为重复的名称。)