如何使用 Autopopulate Mongoose Mongodb 选择要检索的字段?

Posted

技术标签:

【中文标题】如何使用 Autopopulate Mongoose Mongodb 选择要检索的字段?【英文标题】:How can i select the fields that i want retrieve using Autopopulate Mongoose Mongodb? 【发布时间】:2020-12-18 22:30:32 【问题描述】:

我正在使用插件 mongoose-autopopulate 但我不知道如何指定要从填充集合中检索的字段。

这是我的架构...

const categoriaSchema = new Schema(
    data:  type: String ,
    label:  type: String ,
    children: [
        type: mongoose.Schema.Types.ObjectId,
        ref: 'categorias',
        autopopulate: true
    ],
    father: 
        type: mongoose.Schema.Types.ObjectId,
        ref: 'categorias',
        autopopulate: true
    ,
    eventos:  type: Boolean ,
    tienda:  type: Boolean ,
    productos: [
        type: mongoose.Schema.Types.ObjectId,
        ref: 'productos',
        autopopulate: true
    ]
)

所以我想选择儿童填充集合中的字段,因为 productos 字段带来了很多文档。

我怎么会有这样的输出...


    data: "Electronic",
    label: "Electronic",
    children: [
         
        data: "Mobiles",
        label: "Mobiles",
        children: [
               
            data: "Samsung",
            label: "Samsung",
            children: [],
            eventos: true;
            tienda: true;
            
        ],
        eventos: true;
        tienda: true;
        
    ],
    eventos: true;
    tienda: true;

【问题讨论】:

【参考方案1】:

我找到了解决办法。

  children: [
        type: mongoose.Schema.Types.ObjectId,
        ref: 'categorias',
        autopopulate:  select: '-productos' ,

    ],

autopopulate 接受选项,然后您可以选择或取消选择要排除或添加的字段。

【讨论】:

以上是关于如何使用 Autopopulate Mongoose Mongodb 选择要检索的字段?的主要内容,如果未能解决你的问题,请参考以下文章

将 2 列中的 json 数据与模式中的数据进行比较,并将最新数据覆盖为 mongoos 中的主要数据

猫鼬我如何返回 findOne 数据对象

如何在nodejs中将猫鼬模型数据作为数组返回[重复]

如何从存储在 mongodb 中的对象中获取日期?

Node中使用MongoDB

文档不会使用带有 mongoose 的 save() 方法保存