对 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 是正确的用法。
我正在尝试使用猫鼬创建嵌套模式,为子文档附加一个 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 是正确的用法。