【问题标题】:Mongoosejs find with select returns unwanted array fieldMongoosejs 使用 select 查找返回不需要的数组字段
【发布时间】:2014-02-28 14:59:34
【问题描述】:

我有一个猫鼬模式:

var schema =  mongoose.Schema({
        name: 'string',
        title: 'string'
        tracks: [trackSchema],
    });

当我尝试选择记录并限制所选字段时:

Model.find({}).select('name').exec(cb)

结果包括_id、名称和曲目字段(不包括“标题”)。但为什么它包含曲目??

我只能排除它:

Model.find({}).select('-tracks').exec(cb)

所以我想知道发生了什么以及如何仅选择“名称”字段

猫鼬 3.8.6

【问题讨论】:

  • 你没有在你的架构中使用select: true
  • 是的,你是对的,在我的 trackSchema 中。谢谢你。您可以发布答案,我会检查它是否正确。
  • 好吧,我现在很感兴趣:因为您在 trackSchema 中有一个 select : true,它被添加到另一个模型 (Model) 的查询结果中?

标签: mongoose


【解决方案1】:

已解决,感谢@robertklep

问题在于其中一个字段的 trackSchema 包含 {select: true}

var trackSchema = mongoose.Schema({
   prop: {type: {....}, select: true}
});

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 2023-01-17
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2016-04-24
    • 2018-06-04
    相关资源
    最近更新 更多