mongoose 如何将refPath设置为查看同一对象中的属性

pgpifvop  于 2023-01-09  发布在  Go
关注(0)|答案(1)|浏览(122)

我的代码只是让用户为不同类型的产品添加书签。

const UserSchema = new mongoose.Schema({
// ...
bookmarks: [
    {
        product_type: { // this should be the refPath
            type: String,
            enum: ['vehicle', 'nutrition', 'accessory', 'etc...'],
        },
        product_id: {
            type: mongoose.Types.ObjectId,
            refPath: '' // Vehicle, Nutrition, etc..
        },
    },
  ]
});

我如何设置refPath来查看同一对象中的属性。或者我应该遵循不同的结构?
如何正确填充结果

b1zrtrql

b1zrtrql1#

refPath需要指向其引用的字段的绝对路径。假设bookmarks字段不是嵌套字段:

const UserSchema = new mongoose.Schema({
// ...
bookmarks: [
    {
        product_type: {
            type: String,
            enum: ['vehicle', 'nutrition', 'accessory', 'etc...'],
        },
        product_id: {
            type: mongoose.Types.ObjectId,
            refPath: 'bookmarks.product_type' // relative path to the reference
        },
    },
  ]
});

相关问题