对 Mongoose 的 Types.ObjectId 和 Schema.Types.ObjectId 感到困惑

Confused about Types.ObjectId and Schema.Types.ObjectId from Mongoose

我正在尝试使用猫鼬创建嵌套模式,为子文档附加一个 user_id 字段。我发现了这种方法

const {Schema} = require("mongoose");
var user_id = {
    type:Schema.Types.ObjectId,
    ref:"User",
  },

但后来我发现Types可以从顶层的mongoose导入,但是ObjectId的定义与Schema.Types有很大不同,因此

const {Types} = require("mongoose");
var user_id = {
    type:new Types.ObjectId(),
    ref:"User",
  },

我找不到关于这个细微差别的文档....我想我应该在整个应用程序中使用一致的方法,所以有人可以帮忙解释一下吗?

*编辑:我认为我应该使用的应该与为 User table 定义的 _id 的方式一致,但它使用的是哪一个?

哦,我知道了。

newUser._id instanceof Types.ObjectId == true

所以 Types.ObjectId 是正确的用法。